/*  ---------------------------------------------------------
	1. Embedded fonts styles
	2. General reset
	3. Common site styles
	4. Custom form styles
	5. Styles for responsive breakpoints
	---------------------------------------------------------*/
/*  ---------------------------------------------------------
	1. Embedded fonts styles
	---------------------------------------------------------*/
@font-face {
	font-family: 'Dip-Pro';
	src:url('../fonts/DINPro-Light_gdi.eot'),
	url('../fonts/DINPro-Light_gdi.woff') format('woff'),
	url('../fonts/DINPro-Light_gdi.ttf') format('truetype'),
	url('../fonts/DINPro-Light_gdi.svg') format('svg');
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: 'Dip-Pro';
	src:url('../fonts/DINPro-Regular_gdi.eot'),
	url('../fonts/DINPro-Regular_gdi.woff') format('woff'),
	url('../fonts/DINPro-Regular_gdi.ttf') format('truetype'),
	url('../fonts/DINPro-Regular_gdi.svg') format('svg');
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: 'Dip-Pro';
	src:url('../fonts/DINPro-Medium_gdi.eot'),
	url('../fonts/DINPro-Medium_gdi.woff') format('woff'),
	url('../fonts/DINPro-Medium_gdi.ttf') format('truetype'),
	url('../fonts/DINPro-Medium_gdi.svg') format('svg');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'Dip-Pro';
	src:url('../fonts/DINPro-Bold_gdi.eot'),
	url('../fonts/DINPro-Bold_gdi.woff') format('woff'),
	url('../fonts/DINPro-Bold_gdi.ttf') format('truetype'),
	url('../fonts/DINPro-Bold_gdi.svg') format('svg');
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: 'Dip-Pro';
	src:url('../fonts/DINPro-Black_gdi.eot'),
	url('../fonts/DINPro-Black_gdi.woff') format('woff'),
	url('../fonts/DINPro-Black_gdi.ttf') format('truetype'),
	url('../fonts/DINPro-Black_gdi.svg') format('svg');
	font-weight: 800;
	font-style: normal;
}
@font-face {
	font-family: 'Segoe-Print';
	src: url('../fonts/segoe-print-bold.eot'),
	url('../fonts/segoe-print-bold.woff') format('woff'),
	url('../fonts/segoe-print-bold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}
/*  ---------------------------------------------------------
	2. General reset
	---------------------------------------------------------*/
* { max-height: 100000px;}
body {
	min-width: 320px;
	line-height: 24px;
	font-family: 'Dip-Pro', sans-serif;
}
a:focus {
	outline: none;
	outline-offset:inherit;
}
@-webkit-viewport {width: device-width;}
@-moz-viewport {width: device-width;}
@-ms-viewport {width: device-width;}
@-o-viewport {width: device-width;}
@viewport {width: device-width;}
ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
h1, .h1 {
	line-height: 29px;
	margin: 0 0 5px;
}
h2, .h2,
h3, .h3 {
	line-height: 24px;
	margin: 0 0 10px;
}
h1 a, .h1 a,
h2 a, .h2 a,
h3 a, .h3 a { color: #616161;}
h1 a:hover, .h1 a:hover,
h2 a:hover, .h2 a:hover,
h3 a:hover, .h3 a:hover { color: #47afff;}
.btn {
	min-width: 210px;
	padding: 10px 14px;
	display: inline-block;
	vertical-align: top;
	font-size: 24px;
	line-height: 30px;
	text-align: center;
	border: none;
	white-space:normal;
}
.tel { pointer-events: none;}
/* ajax loader styles */
.ajax-loader {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255,255,255,0.5);
	z-index: 9999;
}
.ajax-loader:after {
	content: "";
	display: block;
	border-radius: 50%;
	font-size: 30px;
	width: .25em;
	height: .25em;
	box-shadow:
	0 -.4em       0 0 rgba(0,0,0,1),
	-.28em -.28em 0 0 rgba(0,0,0,.75),
	-.4em 0       0 0 rgba(0,0,0,.50),
	-.28em .28em  0 0 rgba(0,0,0,.25)
	;
	-webkit-box-shadow:
	0 -.4em       0 0 rgba(0,0,0,1),
	-.28em -.28em 0 0 rgba(0,0,0,.75),
	-.4em 0       0 0 rgba(0,0,0,.50),
	-.28em .28em  0 0 rgba(0,0,0,.25)
	;
	-webkit-animation: 1s ajax-loader-rotate steps(8) infinite;
	animation: 1s ajax-loader-rotate steps(8) infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	z-index: 9999;
}
@-webkit-keyframes ajax-loader-rotate {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}
@keyframes ajax-loader-rotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
/*  ---------------------------------------------------------
	3. Сommon site styles
	---------------------------------------------------------*/
/* main container styles */
#wrapper{
	overflow: hidden;
}
/* header styling */
#header {
	background: #fcfcfc;
	padding: 35px 0;
	position: relative;
	box-shadow: 0 3px 8px rgba(0,0,0,.15);
	-webkit-box-shadow: 0 3px 8px rgba(0,0,0,.15);
	z-index: 9;
}
#header:after {
	width: 300px;
	height: 59px;
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
	background: url(../images/header-bottom.png) no-repeat;
	background-size: 100% auto;
}
#header .logo{
	width: 160px;
	position: absolute;
	top: 17px;
	left: 50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
	z-index: 98;
}
#header .logo img{
	width: 100%; 
	height: auto;
	display: block;
}
/* navigation */
#nav{
	width: 100%;
	display: block;
	z-index: 100;
}
.nav-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.5);
	z-index: 99;
	visibility: hidden;
	opacity: 0;
	transition:all 0.2s linear;
	-webkit-transition:all 0.2s linear;
}
.nav-overlay.active {
	visibility: visible;
	opacity: 1;
}
.nav-opener {
	float: left;
	margin: 25px;
	z-index: 99;
	font-size: 20px;
	color: #333;
	text-align: center;
	display: none;
}
#nav ul{
	width: 50%;
	float: left;
	text-align: left;
	padding: 0 100px 0 0;
	letter-spacing: -5px;
}
#nav ul:last-child{
	text-align: right;
	padding: 0 0 0 100px;
}
#nav ul li {
	letter-spacing: normal;
	padding: 0;
}
#nav ul li + li { margin: 0 0 0 40px;}
#nav ul li a {
	display: block;
	color: #515151;
	font-size: 17px;
	font-weight: 700;
	line-height: 30px;
	padding: 10px 25px;
	border-radius: 3px;
	text-transform: uppercase;
}
#nav ul li a:hover{
	color: #fff;
	background: #8bc53f;
}
/* visual */
.visual { position: relative;}
.visual img {
	display: block;
	width: 100%;
	height: auto;
}
.visual .container {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
}
.visual .button{
	padding: 20px;
	float: right;
}
.visual .button .btn-default {
	min-width: 160px;
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
	color: #fff;
	border: 1px solid #d4dbdd;
	background-color: transparent;
	border-radius: 4px;
	margin: 0 5px 0 0;
}
.visual .button .btn-default:hover{ background: rgba(0,0,0,0.1);}
.visual .text{
	font-size: 22px;
	line-height: 30px;
	font-weight: 700;
	width: 50%;
	color: #fff;
	position: absolute;
	top: 50%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
}
.visual h1{
	color: #fff;
	line-height: 62px;
	font-weight: 700;
	margin: 0 0 15px;
	text-transform: uppercase;
}
.visual p { margin: 0 0 30px;}
/* feature styling */
.features{
	overflow: hidden;
	text-align: center;
}
.features .box{
	width: 33.333%;
	float: left;
	padding: 100px 20px;
}
.features .box:nth-child(odd){ background: #fcfcfc;}
.features .img-holder{
	width: 100px;
	margin: 0 auto 55px;
}
.features .img-holder img{
	width: 100%;
	height: auto;
	display: block;
}
.features .heading{
	font-size: 22px;
	line-height: 30px;
	font-weight: 800;
}
/* parallex styling */
.parallex{
	width: 100%;
	text-align: center;
	background: url(../images/parallex.jpg) no-repeat;
	background-size: cover;
	background-attachment: fixed;
	font-size: 25px;
	font-weight: 600;
	line-height: 50px;
	color: #fff;
	padding: 110px 0;
}
.parallex p { padding: 0;}
/* powder styling */
.powder{
	font-size: 20px;
	line-height: 33px;
	color: #868686;
	text-align: center;
}
.powder h2{ 
	color: #404041;
	margin: 0 0 50px;
}
.powder .container {
	padding-top: 80px;
	padding-bottom: 80px;
}
.powder ul{
	margin: 0;
	letter-spacing: -5px;
}
.powder ul li{
	width: 50%;
	padding: 0;
	letter-spacing: normal;
	position: relative;
}
.powder ul li img{
	width: 100%;
	height: auto;
	display: block;
}
.powder ul li:last-child:before{
	width: 130px;
	height: 130px;
	padding: 40px;
	content: '&';
	position: absolute;
	color: #404041;
	font-size: 39px;
	line-height: 50px;
	font-weight: 800;
	top: 50%;
	left: 0;
	transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	background: #fff;
	border-radius: 100%;
}
/* products styling */
.products {
	padding-top: 120px;
	padding-bottom: 120px;
}
.products .row { letter-spacing: -5px;}
.products [class*="col-"] {
	float: none;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
}
.products .box{
	text-align: center;
	border: 1px solid #f2f2f2;
	padding: 20px;
	margin: 0 0 25px;
	cursor: pointer;
	transition: 0.2s all linear;
	-webkit-transition: 0.1s all linear;
	-moz-transition: 0.1s all linear;
}
.products .box:hover{ background: #f2f2f2;}
.products .img-holder{
	padding: 25px 0;
	margin: 0 0 15px;
	background: #f2f2f2;
}
.products .img-holder img{
	width: 300px;
	margin: 0 auto;
}
.products .text{ 
	font-size: 20px;
	line-height: 27px;
	color: #868686;
	text-align: left;
}
.products h3{
	color: #404041;
	font-size: 20px;
	line-height: 40px;
	margin: 0 0 10px;
	text-align: center;
}
.products .btn{
	min-width: 150px;
	font-size: 17px;
	font-weight: 400;
	line-height: 27px;
	display: inline-block;
	vertical-align: top;
}
/* testimonials styling */
.testimonials{
	width: 100%;
	display: table;
	overflow: hidden;
	background: #fafafa;
	position: relative;
}
.testimonials:after{
	content: '';
	position: absolute;
	width: 162px;
	height: 156px;
	top: 5px;
	right: 25px;
	background: url(../images/ico-testimonials.png) no-repeat;
	pointer-events: none;
}
.testimonials .img-holder {
	width: 50%;
	display: table-cell;
	vertical-align: middle;
}
.testimonials .img-holder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.testimonials h3{
	color: #404041;
	font-size: 25px;
	line-height: 30px;
	margin: 0 0 15px;
}
.testimonials .text{
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	font-size: 20px;
	line-height: 28px;
	color: #868686;
	padding: 20px 100px 20px 80px;
}
.testimonials .text .right {
	font-size: 22px;
	line-height: 30px;
	color: #6daa1f;
	font-family: 'Segoe-Print', Din-Pro;
	text-align: right;
	padding: 20px 0 0 20%;
}
.testimonials .text .right span{ 
	margin: 10px 0;
	display: block;
}
.testimonials .text .right p { margin: 0;}
/* footer styling */
#footer{
	font-size: 16px;
	line-height: 30px;
	background: #40714f;
	color: #fff;
	padding: 40px 0;
}
#footer ul{ 
	letter-spacing: -5px;
	text-align: right;
}
#footer ul li{
	padding: 0 20px;
	letter-spacing: normal;
}
#footer ul li a{
	font-size: 15px;
	font-weight: 700;
	line-height: 30px;
	color: #fff;
}
#footer ul li a:hover{ color: #000;}
@media screen and (max-width: 1280px){
	#header .logo{ width: 150px;}
	#nav ul li a{ padding: 5px 13px;}
	.visual .text {
		padding: 0 0 0 50px;
		font-size: 18px;
		line-height: 22px;
	}
	.visual h1 {
		font-size: 50px;
		line-height: 60px;
	}
	.visual p { margin: 0 0 20px;}
}
@media screen and (max-width: 1200px) {
	#header {
		padding: 25px 0;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	}
	#header:after{
		height: 45px;
		background-position: 50% 0;
		background-size: auto 45px;
	}
	#header .logo {
		width: 130px;
		top: 10px;
	}
	#nav ul li + li { margin: 0 0 0 30px;}
	.visual .button .btn-default {
		min-width: 150px;
		font-size: 12px;
		padding: 8px;
	}
	.visual .text {
		padding: 0 0 0 20px;
		font-size: 16px;
		line-height: 20px;
	}
	.visual h1 {
		font-size: 35px;
		line-height: 40px;
	}
	.features .box { padding: 50px 20px;}
	.features .img-holder { margin: 0 auto 20px;}
	.parallex { padding: 80px 0;}
	.powder ul li:last-child:before {
		width: 90px;
		height: 90px;
		font-size: 30px;
		line-height: 40px;
		padding: 25px;
	}
	.products{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.products .box { padding: 10px;}
	.products h3 { line-height: 30px;}
	.products .btn { min-width: 120px;}
	.testimonials .text { padding: 15px;}
	.testimonials .text {
		font-size: 16px;
		line-height: 24px;
	}
	.testimonials h3 {
		font-size: 22px;
		line-height: 25px;
		margin: 0 0 10px;
	}
	.testimonials .text .right {
		font-size: 18px;
		line-height: 24px;
		margin: 0;
		padding: 0;
	}
	#footer { padding: 20px 0;}
	#footer ul li { padding: 0 15px;}
}
@media screen and (max-width: 992px){
	#header .logo{ width: 130px;}
	#nav ul{ padding: 0 85px 0 0;}
	#nav ul:last-child{ padding: 0 0 0 85px;}
	#nav ul li + li { margin: 0 0 0 10px;}
	#nav ul li a{
		font-size: 14px;
		line-height: 20px;
	}
	.visual {
		padding: 50px 0 30px;
		text-align: center;
		background: url(../images/visual-bg-mob.jpg) no-repeat;
		background-size: cover;
	}
	.visual img { display: none;}
	.visual .button {
		float: none;
		margin: 0;
	}
	.visual .button .btn-default { font-size: 14px;}
	.visual .container {
		position: static;
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
	.visual .text {
		padding: 0;
		width: auto;
		position: static;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}
	.features .box{ padding: 50px 0;}
	.parallex{ padding: 60px 0;}
	.powder h2 { margin: 0 0 30px;}
	.products {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#footer { text-align: center;}
	#footer p { margin: 0;}
	#footer ul { text-align: center;}
	#footer ul li { padding: 0 10px;}
	#footer ul li a { font-weight: 600;}
}
@media screen and (max-width: 767px){
	#header{ 
		height: 80px;
		padding: 0;
	}
	#header .logo{ top: 10px;}
	#nav{
		width: 250px;
		position: fixed;
		top: 0;
		bottom: 0;
		right: -250px;
		padding: 30px 0;
		background: #fff;
		z-index: 99;
		overflow-y: auto;
		transition: all 0.2s linear;
		-webkit-transition: all 0.2s linear;
	}
	#nav.active{ right: 0;}
	.nav-opener{ display: block;}
	#nav ul:last-child,
	#nav ul{ 
		width: 100%;
		padding: 0;
		text-align: left !important;
	}
	#nav ul li {display: block;}
	.visual h1{
		font-size: 30px;
		line-height: 40px;
		margin: 0 0 10px;
	}
	.visual .text{
		font-size: 18px;
		line-height: 20px;
		width: auto;
	}
	.features .box{ 
		width: 100%;
		float: none;
	}
	.features .img-holder{ margin: 0 auto 20px;}
	.features .box{ padding: 30px 0;}
	.parallex{
		min-height: auto;
		font-size: 18px;
		line-height: 30px;
	}
	.powder{
		font-size: 15px;
		line-height: 30px;
	}
	.powder .container{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.powder h2{ margin: 0 0 20px;}
	.powder ul li {
		width: auto;
		display: block;
	}
	.powder ul li:last-child:before{
		width: 60px;
		height: 60px;
		padding: 15px;
		font-size: 25px;
		line-height: 30px;
		top: 0;
		left: 50%;
	}
	.products{ padding: 25px 20px;}
	.products [class*="col-"] { display: block;}
	.products .text{
		font-size: 16px;
		line-height: 25px;
	}
	.products .img-holder img{
		width: 200px;
		margin: 0 auto;
	}
	.testimonials { display: block;}
	.testimonials:after{ display: none;}
	.testimonials .img-holder {
		width: auto;
		height: auto !important;
		display: block;
	}
	.testimonials .img-holder img {
		height: auto;
		display: block;
		object-fit:fill;
	}
	.testimonials .text{
		width: auto;
		height: auto !important;
		font-size: 16px;
		line-height: 20px;
		display: block;
		padding: 20px;
	}
	.testimonials h3 { text-align: center;}
	.testimonials .text .right span { margin: 10px 0 0;}
	.testimonials .text .right {
		font-size: 14px;
		line-height: 20px;
		text-align: center;
	}
	#footer{
		font-size: 13px;
		line-height: 20px;
	}
	#footer p { margin: 0 0 5px;}
}
@media screen and (max-width: 479px){
	.visual .button .btn{ 
		display: block;
		margin: 0 0 10px;
	}
}