/* reset */
 
* {
	margin: 0;
	padding: 0;
	font: inherit;
	box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden],
template {
	display: none;
}
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-focus-ring-color: rgba(255,255,255,0);
	cursor: default;
}
body {
	font-size: 100%;
	line-height: 1;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
a {
	background: transparent;
	text-decoration-skip-ink: none;
}
*:focus,
*:active,
*:hover {
	outline: none;
}
b, strong {
	font-weight: bold;
}
hr {
	box-sizing: content-box;
	height: 0;
}
ol,
ul {
	list-style: none;
}
pre {
	-moz-tab-size: 4;
		 -o-tab-size: 4;
	   tab-size: 4;
	white-space: pre-wrap;
}
q {
	quotes: '\201C' '\201D' '\2018' '\2019';
}
img {
	display: block;
	max-width: 100%;
	border: none;
}
svg:not(:root) {
	overflow: hidden;
}
button,
input {
	line-height: normal;
}
button,
select {
	text-transform: none;
}
button {
	overflow: visible;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled],
html input[disabled] {
	cursor: default;
}
input[type='checkbox'],
input[type='radio'] {
	box-sizing: border-box;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	height: auto;
}
input[type='search'] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: none;
	padding: 0;
}
textarea {
	overflow: auto;
	vertical-align: top;
}
button,
input,
select[multiple],
textarea {
	background-image: none;
}
input,
select,
textarea {
	border-radius: 0;
	box-shadow: none;
}
input,
textarea {
	max-width: 100%;
	resize: none;
	-webkit-user-select: text;
	 -moz-user-select: text;
		-ms-user-select: text;
			user-select: text;
}
[placeholder]:focus::-webkit-input-placeholder {
	color: transparent;
}
[placeholder]:focus:-ms-input-placeholder {
	color: transparent;
}
[placeholder]:focus::placeholder {
	color: transparent;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
html,
body {
	min-height: 100%;
	width: 100%;
}
svg {
	width: 100%;
	height: 100%;
}
ul {
	list-style-type: none;
}
a {
	text-decoration: none;
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
sup {
	font-size: 50% !important;
}

/* MODAL */

#chOverlay, #chWrapper {
	position:fixed;
	z-index:9999;
	top:0;
	left:0;
	overflow:hidden;
	width:100%;
	height:100%;
	-webkit-transform: translate3d(0,0,0);
}
#chOverlay {
	background:#efefef;
	opacity: 0.85;
	filter: alpha(opacity = 85);
	cursor: pointer;
}
#chWrapper {
	pointer-events: none;
}
#chScroll {
	overflow-x: hidden;
	overflow-y: scroll;
	position: absolute;
	left: -20px;
	right: -20px;
	height: 100%;
}
.fullsize #chScroll {
	left: 0;
	right: 0;
	overflow-y: hidden;
}
#chFlex {
	min-height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
}
#chFlex > * {
	pointer-events: auto;
}
#chGallery {
	position: relative;
	width:802px;
	max-width: 96vw;
	height:542px;
	max-height: 64vw;
	padding: 44px 48px;
	background:#fff;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}
@media only screen and (min-width: 640px) {
	#chGallery {
		padding: 46px;
	}
}
.fullsize #chGallery {
	width: 100vw;
	max-width: 100vw;
	height: 100vh;
}
#chModal {
	position: relative;
	max-width: 96vw;
	padding: 44px 48px;
	background:#fff;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 640px) {
	#chGallery, #chModal {
		padding: 24px;
	}
}
#chContent {
	position: relative;
	min-width: 80px;
	min-height: 80px;
	text-align: center;
}
#chGallery #chContent {
	width: 100%;
	height: 100%;
}
#chGallery img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	max-height: 100%;
	max-width: 100%;
}
#chGallery img.watermark {
	opacity: 0 !important;
}
#chLoader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:url(/images/rot.gif) no-repeat center center;
}
#chPrev, #chNext, #chClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-khtml-user-select: none;-ms-user-select: none;}

#chPrev{position:absolute; top:50%; left:15px; margin-top: -14px; background:url(../images/arr_left.svg) no-repeat 0 0 / 100% auto; width:28px; height:22px; text-indent:-9999px;}
#chNext{position:absolute; top:50%; right:15px; margin-top: -14px; background:url(../images/arr_right.svg) no-repeat 0 0 / 100% auto; width:28px; height:22px; text-indent:-9999px;}
#chClose{position:absolute; top:21px; right:10px; width:22px; height:22px; text-indent:-9999px;}
#chClose:before, #chClose:after {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #777;
	border-radius: 2px;
	content: "";
}
#chClose:before {
	transform: rotate(45deg);
}
#chClose:after {
	transform: rotate(-45deg);
}
#chPrev:hover,#chNext:hover,#chClose:hover{opacity: 0.8;}

/* owl carousel */

/* 
 *	Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
	-webkit-animation-duration: 1000ms;
	        animation-duration: 1000ms;
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
	z-index: 0;
}
.owl-carousel .owl-animated-out {
	z-index: 1;
}
.owl-carousel .fadeOut {
	-webkit-animation-name: fadeOut;
	        animation-name: fadeOut;
}
@-webkit-keyframes fadeOut {
	0% {
	opacity: 1;
	}

	100% {
	opacity: 0;
	}
}
@keyframes fadeOut {
	0% {
	opacity: 1;
	}

	100% {
	opacity: 0;
	}
}

/* 
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
	-webkit-transition: height 500ms ease-in-out;
	transition: height 500ms ease-in-out;
}

/* 
 *	Core Owl Carousel CSS File
 */
.owl-carousel {
	display: none;
	width: 100%;
	-webkit-tap-highlight-color: transparent;
	/* position relative and z-index fix webkit rendering fonts issue */
	position: relative;
	z-index: 1;
}
.owl-carousel .owl-stage {
	position: relative;
	-ms-touch-action: pan-Y;
}
.owl-carousel .owl-stage:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
.owl-carousel .owl-stage-outer {
	position: relative;
	overflow: hidden;
	/* fix for flashing background */
	-webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
	cursor: pointer;
	cursor: hand;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.owl-carousel.owl-loaded {
	display: block;
}
.owl-carousel.owl-loading {
	opacity: 0;
	display: block;
}
.owl-carousel.owl-hidden {
	opacity: 0;
}
.owl-carousel .owl-refresh .owl-item {
	display: none;
}
.owl-carousel .owl-item {
	position: relative;
	min-height: 1px;
	float: left;
	/*-webkit-backface-visibility: hidden;*/
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.owl-carousel .owl-item img {
	display: block;
	/*width: 100%;*/
	-webkit-transform-style: preserve-3d;
}
.owl-carousel.owl-text-select-on .owl-item {
	-webkit-user-select: auto;
	-moz-user-select: auto;
	-ms-user-select: auto;
	user-select: auto;
}
.owl-carousel .owl-grab {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -o-grab;
	cursor: -ms-grab;
	cursor: grab;
}
.owl-carousel.owl-rtl {
	direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
	float: right;
}

/* No Js */
.no-js .owl-carousel {
	display: block;
}

/* 
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
	opacity: 0;
	-webkit-transition: opacity 400ms ease;
	transition: opacity 400ms ease;
}
.owl-carousel .owl-item img {
	-webkit-transform-style: preserve-3d;
	        transform-style: preserve-3d;
}

/* 
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
	position: relative;
	height: 100%;
	background: #000;
}
.owl-carousel .owl-video-play-icon {
	position: absolute;
	height: 80px;
	width: 80px;
	left: 50%;
	top: 50%;
	margin-left: -40px;
	margin-top: -40px;
	background: url("owl.video.play.png") no-repeat;
	cursor: pointer;
	z-index: 1;
	-webkit-backface-visibility: hidden;
	-webkit-transition: scale 100ms ease;
	transition: scale 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
	-webkit-transform: scale(1.3, 1.3);
	    -ms-transform: scale(1.3, 1.3);
	        transform: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
	display: none;
}
.owl-carousel .owl-video-tn {
	opacity: 0;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: opacity 400ms ease;
	transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
	position: relative;
	z-index: 1;
}

.owl-carousel .owl-prev, .owl-carousel .owl-next {
	position: absolute;
	width: 28px;
	height: 22px;
	cursor: pointer;
}
.owl-carousel .owl-prev:hover, .owl-carousel .owl-next:hover {
	opacity: 0.8;
}
.owl-carousel .owl-prev {
	left: -48px;
	background:url(../images/arr_left.svg) no-repeat 0 0 / 100% auto;
}
.owl-carousel .owl-next {
	right: -48px;
	background:url(../images/arr_right.svg) no-repeat 0 0 / 100% auto;
}

/* 
 *	Owl Carousel CSS3 Transitions 
 *	v1.3.2
 */

.owl-origin {
	-webkit-perspective: 1200px;
	-webkit-perspective-origin-x : 50%;
	-webkit-perspective-origin-y : 50%;
	-moz-perspective : 1200px;
	-moz-perspective-origin-x : 50%;
	-moz-perspective-origin-y : 50%;
	perspective : 1200px;
}
/* fade */
.owl-fade-out {
	z-index: 10;
	-webkit-animation: fadeOut .7s both ease;
	        animation: fadeOut .7s both ease;
}
.owl-fade-in {
	-webkit-animation: fadeIn .7s both ease;
	        animation: fadeIn .7s both ease;
}
/* backSlide */
.owl-backSlide-out {
	-webkit-animation: backSlideOut 1s both ease;
	        animation: backSlideOut 1s both ease;
}
.owl-backSlide-in {
	-webkit-animation: backSlideIn 1s both ease;
	        animation: backSlideIn 1s both ease;
}
/* goDown */
.owl-goDown-out {
	-webkit-animation: scaleToFade .7s ease both;
	        animation: scaleToFade .7s ease both;
}
.owl-goDown-in {
	-webkit-animation: goDown .6s ease both;
	        animation: goDown .6s ease both;
}
/* scaleUp */
.owl-fadeUp-in {
	-webkit-animation: scaleUpFrom .5s ease both;
	        animation: scaleUpFrom .5s ease both;
}

.owl-fadeUp-out {
	-webkit-animation: scaleUpTo .5s ease both;
	        animation: scaleUpTo .5s ease both;
}
/* Keyframes */
/*empty*/
@-webkit-keyframes empty {
	0% {opacity: 1}
}
@keyframes empty {
	0% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% { opacity:0; }
	100% { opacity:1; }
}
@keyframes fadeIn {
	0% { opacity:0; }
	100% { opacity:1; }
}
@keyframes fadeOut {
	0% { opacity:1; }
	100% { opacity:0; }
}
@-webkit-keyframes backSlideOut {
	25% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); }
	75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); }
	100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); }
}
@keyframes backSlideOut {
	25% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); }
	75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); }
	100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); }
}
@-webkit-keyframes backSlideIn {
	0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); transform: translateZ(-500px) translateX(200%); }
	75% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); }
	100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); transform: translateZ(0) translateX(0); }
}
@keyframes backSlideIn {
	0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); transform: translateZ(-500px) translateX(200%); }
	75% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); }
	100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); transform: translateZ(0) translateX(0); }
}
@-webkit-keyframes scaleToFade {
	to { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8); }
}
@keyframes scaleToFade {
	to { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8); }
}
@-webkit-keyframes goDown {
	from { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
}
@keyframes goDown {
	from { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
}
@-webkit-keyframes scaleUpFrom {
	from { opacity: 0; -webkit-transform: scale(1.5); transform: scale(1.5); }
}
@keyframes scaleUpFrom {
	from { opacity: 0; -webkit-transform: scale(1.5); transform: scale(1.5); }
}
@-webkit-keyframes scaleUpTo {
	to { opacity: 0; -webkit-transform: scale(1.5); transform: scale(1.5); }
}
@keyframes scaleUpTo {
	to { opacity: 0; -webkit-transform: scale(1.5); transform: scale(1.5); }
}

/* site */

html.noscroll {
	overflow: hidden;
	position: fixed;
}
body {
	background: #fff;
	color: #2e2e2e;
	font: 14px/1 'Fira Sans', sans-serif;
	height: 100%;
	overflow-x: hidden;
}
html.noscroll body {
	overflow-x: visible;
}
a {
	color: #2e2e2e;
}
a:hover {
	opacity: 0.8;
}
h1, h2, h3, h4, h5, h6 {
	text-align: center;
	font-weight: 500;
}
h1 {
	font-size: 72px;
}
h2 {
	font-size: 55px;
}
input, textarea {
	border: none;
}
input[type=text], textarea {
	margin: 0 10px;
	width: 380px;
	padding: 16px 22px;
	font-size: 18px;
	border-radius: 2px;
}
input[type=submit] {
	margin-top: 30px;
	padding: 23px 55px;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	background: #3b8512;
	border-radius: 30px;
}
input[type=radio], input[type=checkbox] {
	margin-right: 6px;
	-ms-transform: scale(1.3);
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
}
label {
	font-size: 18px;
	font-weight: 500;
}
.error {
	border: 1px solid #ff0000;
}
a.button {
	display: inline-block;
	margin: 30px auto;
	padding: 23px 55px;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	background: #3b8512;
	border-radius: 30px;
}
.wrapper {
	position: relative;
	z-index: 99;
	margin: 0 auto;
	max-width: 1280px;
	height: 100%;
}
.header {
	position: relative;
	z-index: 100;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 115px;
	padding: 0 50px;
	color: #fff;
	font-weight: 500;
}
.header a {
	color: #fff;
}
.header .logo {
	width: 219px;
	/*max-width: 219px;
	min-width: 180px;*/
	height: 49px;
	background: url(../images/logo_title.png) no-repeat left center;
}
.header .main__menu li {
	display: inline-block;
	padding: 0 15px;
}
.header .main__menu li a {
	text-transform: uppercase;
}
.header .social {
	white-space: nowrap;
}
.header .social a {
	display: inline-block;
	margin-right: 10px;
	font-size: 24px;
}
.header .contact {
	padding-top: 14px;
	text-align: right;
	white-space: nowrap;
}
.header .contact .phone {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header .contact .phone span {
	font-size: 24px;
	line-height: 32px;
	font-weight: bold;
}
.header .contact .fa-phone {
	margin-right: 15px;
	width: 32px;
	height: 32px;
	font-size: 14px;
	line-height: 32px;
	text-align: center;
	background: #3b8512;
	border-radius: 16px;
}
.header .contact .email {
	font-size: 14px;
	color: #3b8512;
}
.intro-video {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1920px;
	height: 720px;
}
.intro-video video {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	min-width: 100%; 
	min-height: 100%; 
	width: auto;
	height: auto;
	transform: translate(-50%,-50%);
}
.intro {
	position: relative;
	z-index: 0;
	margin-top: -115px;
	width: 100%;
	height: 720px;
	padding: 210px 50px 0;
	color: #fff;
	text-align: center;
	/*background: url(../images/header.jpg) no-repeat center / cover;*/
}
.intro h1 {
	font-size: 72px;
}
.intro h2 {
	padding: 16px 0;
	font-size: 48px;
}
.intro form, .intro .message {
	margin: 50px auto 35px;
}
.intro .message {
	padding: 0 10px;
	font-size: 16px;
	font-weight: 500;
}
.intro a {
	color: #fff;
}
.main {
	padding: 0 50px;
}
footer {
	padding: 0 50px;
}
footer .copyright {
	height: 135px;
	padding: 60px 0;
	font-size: 14px;
	line-height: 15px;
	color: #737373;
	text-align: center;
}
.container {
	text-align: center;
}
.container h2 {
	margin-top: 55px;
}
.clients {
	margin: 0 100px;
}
.clients__carousel .owl-stage-outer {
	padding-top: 30px;
}
.clients__carousel .owl-prev, .clients__carousel .owl-next {
	bottom: calc(50% - 50px);
}
.clients__item {
	position: relative;
	padding-bottom: 30px;
	text-align: center;
	font-size: 18px;
}
.clients__item:before {
	position: absolute;
	z-index: -1;
	top: 65px;
	bottom: 0;
	left: 0;
	right: 0;
	background: #f2f2f2;
	border-radius: 4px;
	content: "";
}
.clients__photo {
	margin: 0 auto;
	width: 120px;
	height: 120px;
	border: solid 5px #fff;
	border-radius: 120px;
}
.clients__text {
	padding: 20px 80px;
	line-height: 26px;
}
.clients__name {
	font-weight: 500;
}
.clients__descr {
	margin: 0 auto;
	max-width: 260px;
	padding: 5px 0 0;
	font-size: 12px;
	line-height: 14px;
	color: #726f6f;
}
.targets__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 55px 80px 0;
}
.targets__item {
	width: 170px;
	text-align: center;
	font-size: 24px;
	line-height: 30px;
	font-weight: 500;
}
.targets__icon {
	margin: 0 auto 15px;
	width: 128px;
	height: 128px;
	background: #3b8512 no-repeat center;
	border-radius: 128px;
	-moz-transition: all 0.8s ease-in-out;
	-webkit-transition: all 0.8s ease-in-out;
	-o-transition: all 0.8s ease-in-out;
	-ms-transition: all 0.8s ease-in-out;
	transition: all 0.8s ease-in-out; 
}
.targets__item:hover .targets__icon {
	-moz-transform: rotate(360deg);
	-webkit-transform: rotate(360deg);
	-o-transform: rotate(360deg);
	-ms-transform: rotate(360deg);
	transform: rotate(360deg); 
}
.calculator {
	background: #f2f2f2;
	border-radius: 3px;
}
.calculator h2 {
	margin-top: 75px;
	padding: 50px 15%;
	line-height: 50px;
	color: #fff;
	background: url(../images/calc_bg.jpg) no-repeat center / cover;
	border-radius: 4px;
}
.calculator form {
	margin: 0 auto;
	max-width: 800px;
	padding: 0 10px 50px;
}
.calculator p {
	margin: 45px 0 30px;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}
.calculator__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.calculator__list input {
	display: none;
}
.calculator__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	width: 179px;
	height: 179px;
	text-align: center;
	background: no-repeat center;
	border-radius: 5px;
	cursor: pointer;
}
.calculator__item:hover:after {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	content: "";
}
input:checked + .calculator__item:before {
	position: absolute;
	z-index: 2;
	top: 5px;
	bottom: 5px;
	left: 5px;
	right: 5px;
	border: 2px solid #fff;
	border-radius: 4px;
	content: "";
}
.calculator__name {
	position: relative;
	z-index: 3;
	width: 100%;
	font-size: 18px;
	line-height: 22px;
	font-weight: 500;
	color: #fff;
}
.col50 {
	float: left;
	width: 50%;
}
.calculator .col50 label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	padding-left: 20px;
}
.calculator .col50 span {
	text-align: left;
}
.calculator__area {
	font-size: 24px;
	font-weight: 500;
	color: #726f6f;
}
.calculator__area input[type=text] {
	width: 140px;
	padding: 13px;
	font-size: 24px;
	border: 1px solid #c1c1c1;
}
.calculator__zamer {
	display: inline-block;
	margin: 20px 0 15px;
	font-size: 12px;
	font-weight: 500;
	color: #3b8512;
}
.specials__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	margin: 40px 0 30px;
	width: 100%;
}
.specials__item-wrap {
	position: relative;
	width: 30%;
}
.specials__item-wrap2 {
	position: relative;
	margin-bottom: 18%;
	padding-bottom: 100%;
}
.specials__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	width: 100%;
	height: 100%;
	background: no-repeat center / cover;
	border-radius: 4px;
}
.specials__item:before {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	content: "";
}
.specials__name span {
	display: block;
	white-space: nowrap;
}
.villages .specials__item:hover {
	opacity: 1;
}
.villages .specials__item:hover:before {
	opacity: 0;
}
.specials__name {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	padding: 0 5%;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 500;
	text-align: center;
	color: #fff;
}
.villages .specials__item:hover .specials__name {
	opacity: 0;
}

.about__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 25px;
}
.about__item {
	position: relative;
	width: 30%;
	max-width: 270px;
	font-size: 120px;
	font-weight: 900;
	color: #eee;
	text-align: left;
}
.about__name {
	position: relative;
	top: -42px;
	margin-bottom: -42px;
	font-size: 24px;
	font-weight: 400;
	color: #2e2e2e;
}
.portfolio {
	margin: 0 100px;
}
.portfolio__carousel {
	margin: 40px 0 80px;
}
.portfolio__item {
	display: block;
	margin: 0 auto;
	width: 180px;
	height: 180px;
	background: no-repeat center / cover;
}
.portfolio__carousel .owl-prev, .portfolio__carousel .owl-next {
	top: 80px;
}
.promo {
	background: url(../images/promo.jpg) no-repeat center / cover;
	border-radius: 5px;
}
.promo h2 {
	padding: 120px 0;
	color: #fff;
	line-height: 68px;
}
.promo h2 a {
	color: #fff;
	font-size: 82px;
	line-height: 140px;
	font-weight: 900;
}
.prices {
	margin: 55px auto 0;
	max-width: 1024px;
	padding: 55px 45px 0;
	font-size: 18px;
	background: #f2f2f2;
	border-radius: 4px;
}
.container.prices h2 {
	margin: 0 auto 35px;
	padding: 0;
}
.prices-tabs a {
	display: inline-block;
	margin: 0 25px 30px;
	padding-bottom: 4px;
}
.prices-tabs a.active {
	border-bottom: 2px solid #3b8512;
}
.prices-table {
	display: none;
	margin: 0 auto;
	/*width: 100%;*/
	text-align: left;
}
.prices-table:first-child {
	display: table;
}
.prices-table tr {
	height: 52px;
	border-bottom: 1px solid #d6d6d6;
}
.prices-table th {
	font-weight: 500;
	white-space: nowrap;
}
.prices-table tr:last-child {
	border: none;
}
.prices-table td, .prices-table th {
	padding-left: 38px;
}
.prices-table td:first-child, .prices-table th:first-child {
	/*min-width: 30%;*/
	padding-left: 0;
}
.prices-table .center {
	text-align: center;
}
.works {
	margin: 55px auto 0;
	max-width: 1024px;
	padding: 35px 45px 30px;
	font-size: 18px;
	background: #f2f2f2;
	border-radius: 4px;
}
.container.works h2 {
	margin: 0 auto 35px;
	padding: 0;
}
.container.works ul {
	display: inline-block;
	margin-left: 80px;
	width: 300px;
	text-align: left;
}
.container.works li {
	position: relative;
	padding: 0 0 25px 22px;
}
.container.works li:before {
	position: absolute;
	left: 0;
	top: -1px;
	font-family: Font Awesome\ 5 Free;
	-moz-osx-font-smoothing:grayscale;
	-webkit-font-smoothing:antialiased;
	display:inline-block;
	font-style:normal;
	font-variant:normal;
	text-rendering:auto;
	line-height:1;
	color: #3b8512;
	content: "\f058";
}
.villages {
	margin: 30px 0;
}
@media (max-width: 1170px){
	.header {
		flex-wrap: wrap;
	}
	.main__menu {
		-ms-order: 10;
		-webkit-order: 10;
		order: 10;
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		text-align: center;
	}
	.header .logo {
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
	}
	.header .social {
		margin-right: 15px;
	}
}
@media (max-width: 1024px){
	.portfolio {
		margin: 0 80px;
	}
	.prices {
		font-size: 16px;
	}
	.prices-table td, .prices-table th {
		padding-left: 30px;
	}
}
@media (max-width: 960px){
	.intro-video {
		height: 600px;
	}
	.intro {
		height: 600px;
		padding-top: 150px;
	}
	.intro h1 {
		font-size: 64px;
	}
	.intro form, .intro .message {
		margin: 30px auto 25px;
	}
	.intro form input[type="text"] {
		max-width: 45%;
	}
	.clients {
		margin: 0 50px;
	}
	.targets__list {
		margin: 55px 40px 0;
	}
	.calculator h2 {
		font-size: 48px;
		line-height: 1;
	}
	.calculator__list-wrap {
		position: relative;
		height: 0;
		padding-bottom: 23%;
	}
	.calculator__list {
		position: absolute;
		width: 100%;
		height: 100%;
	}
	.calculator__item {
		position: relative;
		width: 23%;
		height: 100%;
		background: no-repeat center / cover;
	}
	.about__item {
		font-size: 100px;
	}
	.about__name {
		font-size: 22px;
		top: -36px;
		margin-bottom: -36px;
	}
	.specials__name {
		font-size: 3vw;
	}
	.prices-table td, .prices-table th {
		padding-left: 20px;
	}
	.container.works h2 {
		font-size: 45px;
	}
	.container.works ul {
		margin-left: 40px;
	}
}
@media (max-width: 880px){
	.container.works ul {
		margin-left: 10px;
	}
}
@media (max-width: 800px){
	.portfolio {
		margin: 0 60px;
	}
	.prices {
		padding: 55px 25px 0;
	}
	.prices-table th {
		white-space: normal;
	}
	.works {
		padding: 35px 15px 30px;
	}
}
@media (max-width: 768px){
	.portfolio {
		margin: 0 40px;
	}
	.container.works h2 {
		font-size: 35px;
	}
}
@media (max-width: 640px){
	.intro-video {
		height: 550px;
	}
	.header, .intro, .main {
		padding-left: 20px;
		padding-right: 20px;
	}
	.header {
		flex-wrap: nowrap;
		position: fixed;
		left: 0;
		top: 0;
		height: 80px;
		-webkit-transition: background 500ms;
		transition: background 500ms;
	}
	.main__menu {
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		-webkit-transition: opacity 500ms, box-shadow 500ms;
		transition: opacity 500ms, box-shadow 500ms;
	}
	.header .main__menu li a {
		display: inline-block;
		line-height: 24px;
	}
	.header.scroll {
		background: #fff;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
	}
	.header .logo {
		position: relative;
		margin-right: 20px;
	}
	.header .logo:after {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: url(../images/logo_title_black.png) no-repeat left center;
		opacity: 0;
		content: "";
		-webkit-transition: opacity 500ms;
		transition: opacity 500ms;
	}
	.header .logo, .header .logo:after {
		background-size: contain;
	}
	.header.scroll .logo:after {
		opacity: 1;
	}
	.header .social a, .header .phone span {
		-webkit-transition: color 500ms;
		transition: color 500ms;
	}
	.header.scroll .social a {
		color: #3b8512;
	}
	.header.scroll .phone span {
		color: #000;
	}
	.header.scroll .main__menu {
		opacity: 0;
		pointer-events: none;
	}
	.intro {
		margin-top: 0;
		height: 550px;
	}
	.intro h1 {
		font-size: 48px;
	}
	.intro h2 {
		font-size: 36px;
	}
	.container h2 {
		margin-top: 45px;
	}
	h2 {
		font-size: 35px;
	}
	label {
		font-size: 16px;
	}
	input[type="submit"] {
		margin-top: 25px;
		padding: 18px 55px;
	}
	.clients__text {
		padding: 16px 40px;
		font-size: 16px;
		line-height: 24px;
	}
	.targets__list {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		flex-wrap: wrap;
		margin: 35px 0 0;
	}
	.targets__item {
		margin: 0 5px 20px;
		width: 140px;
		font-size: 16px;
		line-height: 20px;
	}
	.targets__icon {
		margin: 0 auto 15px;
		width: 96px;
		height: 96px;
		background: #3b8512 no-repeat center / 75%;
	}
	.calculator h2 {
		margin-top: 30px;
		padding: 6% 15%;
		font-size: 36px;
	}
	.calculator p {
		margin: 30px 0 20px;
		font-size: 20px;
	}
	.calculator__name {
		padding: 0 2px;
		font-size: 3vw;
		line-height: 1.2;
	}
	.calculator__area input[type="text"] {
		padding: 11px;
		font-size: 20px;
	}
	.calculator__area input[type="submit"] {
		margin-top: 
	}
	.container.about {
		padding: 0 10px;
	}
	.about__item {
		font-size: 12.5vw;
	}
	.about__name {
		font-size: 3vw;
		top: -3vw;
		margin-bottom: -3vw;
	}
	.promo h2 {
		padding: 15vw 0;
		font-size: 6vw;
		line-height: 1.5;
	}
	.promo h2 a {
		font-size: 12.5vw;
		line-height: 1.5;
	}
	.mobile-hidden {
		display: none;
	}
}
@media (max-width: 580px){
	.header .contact {
		padding-top: 0;
	}
	.header .contact .fa-phone {
		margin-right: 0;
		width: 40px;
		height: 40px;
		font-size: 18px;
		line-height: 40px;
		border-radius: 40px;
	}
	.contact .phone span, .contact .email {
		display: none;
	}
	.main__menu {
		font-size: 12px;
	}
	.header .main__menu li {
		padding: 0 5px;
	}
	.prices {
		padding: 55px 10px 0;
		font-size: 14px;
	}
	.prices-tabs a {
		margin: 0 10px 30px;
	}
}
@media (max-width: 480px){
	.intro, .main {
		padding-left: 0;
		padding-right: 0;
	}
	.intro h1 {
		font-size: 36px;
	}
	.intro h2 {
		font-size: 24px;
	}
	.intro form, .intro .message {
		margin: 10px auto 15px;
	}
	.intro form input[type="text"] {
		margin-bottom: 10px;
		width: 100%;
		max-width: 300px;
	}
	.container h2 {
		padding-left: 20px;
		padding-right: 20px;
		font-size: 30px;
	}
	.owl-carousel .owl-prev {
		left: -38px;
	}
	.owl-carousel .owl-next {
		right: -38px;
	}
	.clients__text {
		padding: 16px;
		font-size: 14px;
		line-height: 20px;
	}
	.calculator {
		margin: 0 10px;
	}
	.calculator__name span {
		display: none;
	}
	.calculator p {
		font-size: 18px;
	}
	.specials {
		margin: 0 10px;
	}
	.villages {
		margin: 30px 10px;
	}
	.specials__item-wrap {
		width: 46%;
	}
	.specials .specials__item-wrap:nth-child(n+3) {
		display: none;
	}
	.specials__name {
		font-size: 4vw;
	}
	.portfolio {
		margin: 0 50px;
	}
	.portfolio h2, .promo h2 {
		padding-left: 0;
		padding-right: 0;
	}
	.promo {
		margin: 0 10px;
	}
	.prices {
		margin: 55px 10px 0;
	}
	.prices-table-wrap {
		overflow-x: scroll;
	}
	.works {
		margin: 55px 10px 0;
		padding: 35px 15px 15px;
	}
	.container.works h2 {
		font-size: 30px;
	}
}
@media (max-width: 479px){
	.calculator__list-wrap {
		padding-bottom: 90%;
	}
	.calculator__list {
		-ms-flex-pack: distribute;
	    justify-content: space-around;
		flex-wrap: wrap;
	}
	.calculator__item {
		width: 40%;
		height: 44.45%;
	}
	.calculator__name {
		font-size: 4.5vw;
	}
}
#chModal h3 {
	margin-bottom: 20px;
	font-size: 16px;
}
.bubble_callback {
	max-width: 360px;
}
.bubble_callback input[type=text], .bubble_callback textarea {
	margin: 10px auto 20px;
	border: 1px solid #c1c1c1;
}
.bubble_callback input.error, .bubble_callback textarea.error {
	border: 1px solid #ff0000;
}
.bubble_callback select {
	margin: 10px 0 20px;
}
.bubble_callback .message {
	margin-top: 25px;
}
.plosor, .calc-result-price {
	margin-top: 15px;
	line-height: 20px;
}
#f-zak {
	margin: 0 0 10px;
	text-align: left;
	line-height: 20px;
}
.sliders {
	margin: 55px auto 0;
	max-width: 1024px;
}
.sliders h2 {
	margin-bottom: 35px;
}
.sliders_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: distribute;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.slider {
	width: 360px;
	max-width: 45%;
}
.slider.owl-carousel .owl-prev, .slider.owl-carousel .owl-next {
	top: 0;
	width: 40px;
	height: 100%;
	background: no-repeat center / 28px auto;
}
.slider.owl-carousel .owl-prev {
	left: 0;
	background-image: url(../images/arr_left_white.svg);
}
.slider.owl-carousel .owl-next {
	right: 0;
	background-image: url(../images/arr_right_white.svg);
}
.slider.owl-carousel .owl-prev:hover, .slider.owl-carousel .owl-next:hover {
	background-color: #eee;
}
.slider.owl-carousel .owl-prev:hover {
	background-image: url(../images/arr_left.svg);
}
.slider.owl-carousel .owl-next:hover {
	background-image: url(../images/arr_right.svg);
}
.slider__item {
	display: block;
	width: 360px;
	max-width: 100%;
	padding-bottom: 75%;
}
@media (max-width: 640px){
	.sliders_list {
		flex-wrap: wrap;
		padding: 0 10px;
	}
	.slider {
		margin-bottom: 30px;
		max-width: 100%;
	}
	.slider.owl-carousel .owl-prev:hover, .slider.owl-carousel .owl-next:hover {
		background-color: transparent;
	}
	.slider.owl-carousel .owl-prev:hover {
		background-image: url(../images/arr_left_white.svg);
	}
	.slider.owl-carousel .owl-next:hover {
		background-image: url(../images/arr_right_white.svg);
	}
}
.msg-app {
	display: none;
	position: fixed;
	z-index: 1000;
	right: 20px;
	bottom: 20px;
	padding: 12px 6px;
	background-color: rgba(255, 255, 255, 0.4);
	border-radius: 5px;
	transition: all 0.2s ease-in-out;
}
.msg-app:hover {
	background-color: #efefef;
}
.msg-app-closed {
	transform: scale(0, 0);
	transition: all .3s;
}
.msg-app > a {
	position: relative;
	display: block;
	margin: 0 auto 6px;
	text-decoration: none;
}
.msg-app > a:before {
	display: block;
	margin: 0 auto;
	width: 32px;
	height: 32px;
	background: no-repeat center / contain;
	content: "";
}
.msg-app > a.wa:before {
	background-image: url(../images/wa.png);
}
.msg-app > a.vb:before {
	background-image: url(../images/vb.png);
}
.msg-app > a.tg:before {
	background-image: url(../images/tg.png);
}
.msg-app > a:hover:before {
	transform: scale(1.05);
	transition: all 0.2s ease-in-out;
}
.msg-app > a > p {
	margin: 2px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 15px;
	color: #333;
	text-align: center;
}
.msg-app > a:last-child {
	margin-bottom: 0;
}
.msg-app .msg-close {
	position: absolute;
	display: none;
	right: 0px;
	top: 0px;
	background-image: url(../images/close_buttons_sprite.png);
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: -29px 0;
	cursor: pointer;
	-moz-transform: scale(0.5, 0.5);
	-ms-transform: scale(0.5, 0.5);
	-webkit-transform: scale(0.5, 0.5);
	-o-transform: scale(0.5, 0.5);
	transform: scale(0.5, 0.5);
}
.msg-app:hover .msg-close {
	display: block;
}
.msg-app .msg-close:hover {
	background-position: -29px -17px;
}
@media (max-width: 768px){
	.msg-app {
		display: block;
	}
}
@media (max-width: 640px){
	.msg-app {
		right: 10px;
		bottom: 10px;
		padding: 6px;
	}
	.msg-app > a > p {
		font-size: 10px;
	}
}

















