html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	background: transparent;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
strong {
	font-weight: bold;
}


@font-face {
    font-family: "Calibri";

    src: 
    	 url("../fonts/calibri/Calibri.eot") format("embedded-opentype"),
    	 url("../fonts/calibri/Calibri.woff") format("woff"),
	     url("../fonts/calibri/Calibri.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}
@font-face{
	font-family: "CalibriBold";
	src: 
		 url("../fonts/calibri/Calibri-Bold.eot") format("embedded-opentype"),
		 url("../fonts/calibri/Calibri-Bold.woff") format("woff"),
		 url("../fonts/calibri/Calibri-Bold.ttf") format("truetype");
	font-weight:700;
	font-style:normal;
}


*{
	box-sizing: border-box;
}

/* @group Общий стиль */
html,
body {
	width: 100%;
	/*height: 100%;*/
}
body{
	/*background: #fff url(../images/bg1.png) no-repeat center fixed;*/
	background-size: 100% auto; 
	color: #000;
	font: 16px 'Calibri', Verdana, Tahoma, Arial, Helvetica, Geneva, sans-serif;
	font-weight: 300;
}
a{
	color: #111;
	border-bottom: 2px solid #398860;
	text-decoration: none;
}
a:hover{
	color: #666;
}
.bg_white{
	background: #fff;
}
.bg1{
	background: #f8f8f8;
}

.form{
}
.form .info{
	color: #222;
}

.no_wrap{
	white-space: nowrap;
}

h1,
.h1{
	color: #222328;
	font-size: 48px;
	line-height: 1.1;
	font-weight: 900;
	padding: 0 0 40px;
}
h2,
.h2{
	color: #222;
	font-size: 36px;
	font-family: "CalibriBold";
	line-height: 1;
	font-weight: 800;
	padding: 0 0 25px;
	margin: 0;
}
h3,
.h3{
	color: #fff;
	font-size: 32px;
	line-height: 1;
	padding: 0 0 20px;
}
h4,
.h4{
	color: #222;
	font-size: 26px;
	line-height: 1;
	padding: 0 0 15px;
}
p{
	margin-bottom: 20px;
}
p:last-child{
	margin-bottom: 0;
}
hr{
	border: none;
	border-top: #ccc 1px solid;
	margin: 30px 0;
}
.text_center{
	text-align: center;
}

.nowrap{
	white-space: nowrap;
}
.lh_2{
	line-height: 2;
}

[data-tooltip]{
	position: relative;
}
[data-tooltip]:before {
    content: attr(data-tooltip);
    background: #000;
	color: #fff;
	font-size: 12px;
	line-height: 1.1;
	white-space: nowrap;
	text-align: center;
	text-transform: none;
	position: absolute;
	left: -9000px;
	bottom: 100%;
	opacity: 0;
	transform: translate(-50%, -30px);
	transition: opacity .5s, transform .5s;
	padding: 5px 10px;
}
[data-tooltip]:hover:before{
	left: 50%;
	opacity: 1;
	transform: translate(-50%, -10px);
}
[data-tooltip]:after{
	content: '';
	border: 8px solid transparent;
	border-top: #000 8px solid;
	position: absolute;
	left: -9000px;
	bottom: 100%;
	opacity: 0;
	transform: translate(-50%, -14px);
	transition: opacity .5s, transform .5s;
}
[data-tooltip]:hover:after{
	left: 50%;
	opacity: 1;
	transform: translate(-50%, 4px);
}

.fx{
	display: flex;
	flex-direction: row;
}
.fx.v{
	flex-direction: column;
}
.fx.c{
	justify-content: center;
}
.fx.w{
	flex-wrap: wrap;
}
.fx.vc{
	align-items: center;
}
.fx.spb{
	justify-content: space-between;
}

.fx.ch2 > *{
	width: calc((100% / 2) - 15px);
	padding-right: 30px;
	box-sizing: content-box;
}
.fx.ch2 > *:nth-child(2n){
	padding-right: 0px;
}

.fx.ch3 > *{
	width: calc(100% / 3);
	padding: 0 20px;
	box-sizing: border-box;
}

.fx.ch4 > *{
	width: calc(100% / 4);
	padding-right: 20px;
	box-sizing: border-box;
}
.fx.ch4 > *:last-child{
	padding-right: 0px;
}

.w100{
	width: 100%;
}

.w50{
	width: 50%;
}
.w800px{
	margin: 0 auto;
	width: 900px;
	max-width: calc(100% - 30px);
}
.main_width{
	width: calc(100% - 100px);
	max-width: 1100px;
	margin: 0 auto;
}
.main_width.v2{
	max-width: 900px;
}

.clear{
	clear: both;
}

.header{
	overflow: hidden;
	padding: 0; 
}
.header .logo{
	float: left;
	position: relative;
	width: 200px;
	padding: 15px 0;
}
.header .logo img{
	width: 100%;
}

.header.top{
	position: relative;
}
.show_menu{
	display: none;
	float: right;
	cursor: pointer;
	margin: auto 0;
}
.icon_menu{
	width: 30px;
	height: 30px;
	transition: .3s;
}
.header .icon_menu{
	fill: #fff;
}
.header .icon_menu:hover{
	fill:#f5f5f5;
}
.header .button1{
	font-size: 16px;
	float: right;
	margin: 8px 0;
}

.header .main_width{
	display: flex;
}

.menu{
	display: flex;
	margin: auto auto;
}
.menu li{
	padding: 0 12px;
	list-style: none;
	border-right: 1px solid #ccc;
}
.menu li:last-child{
	border-right: none;
}
.menu li a{
	border-bottom: none;
}
.menu li a:hover{
	border-bottom: 2px solid #89c297;
}
.header .menu{
	position: absolute;
	transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
}
.header .menu li a{
	white-space: nowrap;
}

.header .title{
	font-size: 21px;
	font-family: "CalibriBold";
	float: left;
	margin: 15px 0 0;
}

.content_block{
	padding: 60px 0 90px;
}
.b1{
	color: #fff;
	position: relative;
	background: url(../images/background.jpg) no-repeat 0/cover;
}
.b1:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(210, 210, 210, .5);
    z-index: 1;
}
.b1 > *{
	position: relative;
	z-index: 2;
}

.b1 .h1{
	color: #2d2d2e;
	padding: 0;
}

.list > *:first-child{
	width: 45%;
}
.center{
	text-align: center;
}

.block{
	padding: 20px 0 65px;
}
.block.b1{
	padding-bottom: 40px;
	margin-bottom: 50px;
}

.h2{
	position: relative;
	padding: 4px;
	margin-bottom: 25px;
}
.b2{
	padding: 55px 0;
}
.b2 .h2{
	position: relative;
	text-align: center;
	padding: 4px;
	margin-bottom: 35px;
}

.h2:before{
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 3px;
	background: #398860;
}
.b2 p{
	font-size: 19px;
	text-align: center;
	margin-bottom: 15px;
}

.img_block{
	position: relative;
}
.img_block.left{
	justify-content: flex-end;
}
.img_block > .img {
	position: relative;
    display: block;
    width: 60%;
    padding-bottom: 45%;
}
.img_block > .left_bl,
.img_block > .right_bl {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #efefef;
    width: 46%;
    padding: 30px;
    text-align: center;
    box-sizing: border-box;
    z-index: 5;
}
.img_block > .left_bl{
	left: 0;
	right: auto;
}
.img_block > .left_bl + .img{
	float: right;
}
.img_block > .left_bl p,
.img_block > .right_bl p{
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: .2px;
}

.img_block > .img img {
    object-fit: contain;
}
.img{
    display: block;
    width: 100%;
    padding-bottom: 60%;
    position: relative;
}
.cities .img{
    margin-bottom: 15px;
}
.cities h1{
	position: relative;
	padding-bottom: 4px;
	margin-bottom: 30px;
}
.cities h1:before{
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 3px;
	background: #398860;
}
.cities .h2{
	color: #398860;
}
.cities .h2:before{
	display: none;
}
.img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
}
.cities .img img{
	object-position: bottom;
}



.form{
	background: #fff;
	box-shadow: 0 5px 15px rgba(0,0,0,.5);
	border-radius: 8px;
    padding: 30px;
    max-width: 100%;
}
.form input, .form textarea {
    background: rgba(255,255,255,1);
    border: none;
    outline: none;
    border: 1px solid #ced4da;
    border-radius: 10px;
    color: #111;
    font-size: 13px;
    width: 100%;
	min-width: 300px;
    height: 36px;
	transition: .3s;
	padding: 10px;
	margin: 0 0 15px;
}
.select_block select{
	background: rgba(255,255,255,1);
    border: none;
    outline: none;
    border-radius: 10px;
    color: #777 !important;
    font-size: 13px;
    width: 100%;
    height: 32px;
    transition: .3s;
	padding: 5px 9px;
}
.select_block select *{
	background: rgba(255,255,255,.9);
    border: none;
    outline: none;
    border-radius: 5px;
    color: #111 !important;
    font-size: 13px;
    width: 100%;
    transition:  .3s;
    padding: 0px !important;
    padding-inline-start: 0px !important;
}
.form .h4{
	color: #222;
	margin-bottom: 8px;
}


.select_block {
    position: relative;
    background: rgba(255,255,255,.9);
    border-radius: 6px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 15px;
}

.select_block:before {
    content: '';
    position: absolute;
    top: 27%;
	right: 15px;
	display: block;
	width: 9px;
	height: 9px;
    border: 2px solid #555;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.select_block select {
    background: none;
    border: none;
    outline: none;
    width: calc(100% + 40px) !important;
    padding-right: 37px;
    -webkit-appearance: none;
}

.select_block select * {
    -webkit-appearance: none;
}

.button{
	display: block;
	background: #398860;
	border-radius: 7px;
	color: #fff;
	font-size: 17px;
	line-height: 1;
	padding: 8px 30px;
	border: none;
	outline: none;
	margin: 0 auto;
	cursor: pointer;
}
/*.button:hover{
	background: #afeeaf;
}
*/
.button1{
	background: #00d692;
	border: 2px solid #00d692;
	border-radius: 50px;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	padding: 11px 20px 9px;
	transition: 0.5s;
}
.button1:hover{
	background: #fff;
	border-color: #00d692;
	color: #222;
}

.form_bl{
	background: #eee;
	padding: 50px 0;
}
.form_bl .fx.v{
	padding-right: 40px;
}
.big_p{
	font-size: 21px;
}
.form_bl .h2:before{
	content: "";
	position: absolute;
	bottom: -8px;
	left: 0;
	transform: none;
	width: 100px;
	height: 3px;
	background: #398860;
}

.footer{
	background: #fff;
}
.footer .top{
	justify-content: space-between;
	padding: 40px 0;
}
.footer .bottom{
	color: #222;
	font-size: 16px;
	justify-content: center;
	padding: 35px 0;
}
.footer .logo{
	display: block;
	float: left;
	width: 180px;
	margin: 0 30px 0 0;
}
.footer p{
	text-align: center;
	display: block;
	width: 100%;
}
.footer a{
	margin: 0 10px;
}

.socials{
	float: left;
	margin: 3px 0 0;
}
.socials a{
	background: rgba(0,0,0,.1);
	border: none;
	border-radius: 20px;
	text-align: center;
	float: left;
	width: 36px;
	height: 36px;
	transition: .3s;
	padding: 8px;
	margin: 0 10px 0 0;
}
.socials a img{
	width: 20px;
	height: 20px;
	opacity: .7;
}
.socials a:hover{
	background: #f4dbb2;
}
.footer .contacts{
	margin: 14px 0 0;
}
.footer .contacts a{
	display: inline-block;
	margin: 0 0 0 10px;
}


.id{
	position: relative;
	top: -62px;
}

.right_sidebar_wrapper{
	float: right;
	width: 350px;
}
.right_sidebar{
	width: 100%;
}
.right_sidebar{
	background: #fff;
	position: fixed;
	right: -360px;
	top: 0;
	bottom: 0;
	width: 270px;
	transition: .5s;
	overflow-y: auto;
	z-index: 26;
}
.right_sidebar .menu{
	flex-wrap: wrap;
}

.mob_sidebar_bg,
.right_sidebar_bg{
    background: rgba(0,0,0,.5);
    position: fixed;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .5s;
    z-index: 25;
    box-shadow: 0 4px 6px rgba(0,0,0,.16);
}
#mob_sidebar,
#right_sidebar{
    display: none;
}
#mob_sidebar:checked ~ .mob_sidebar_bg,
#right_sidebar:checked ~ .right_sidebar_bg{
    left: 0;
    opacity: 1;
}
#right_sidebar:checked ~ .right_sidebar{
    right: 0;
}


.right_sidebar .wrapper{
	padding: 20px;
}
.right_sidebar .logo{
	max-width: 80px;
	margin: 10px 0 40px;
}
.right_sidebar .p_logos{
	display: none;
	float: left;
	margin: 10px 0 50px;
}
.right_sidebar .p_logo{
	opacity: 1;
	margin-left: 0;
	margin-right: 20px;
}
.right_sidebar .menu{
	list-style: none;
	clear: both;
	margin: 0 0 50px;
}
.right_sidebar .menu li{
	display: block;
	width: 100%;
	border-right: none;
	margin: 0 0 15px;
	padding: 0;
}
.right_sidebar .menu a{
	border: none;
	color: #222;
	font-size: 18px;
	font-weight: 600;
}
.right_sidebar .menu a:hover{
	color: #666;
}
.right_sidebar .contacts{
	margin: 0 0 30px;
}
.right_sidebar .contacts a{
	display: inline-block;
	color: #141f26;
	font-size: 18px;
	margin: 0 0 10px;
}
.right_sidebar .socials{
	margin-bottom: 30px;
}

.hide{
	display: none;
}

.logos a.svg_logo{
	min-width: 42%;
}

@media (max-width: 1000px){
	h1, .h1{
		font-size: 35px;
	}

}
@media (max-width: 900px){
	.main_width{
		width: calc(100% - 50px);
	}
	h2, .h2 {
		font-size: 30px;
	}
	
}
@media (max-width: 840px){
	.header .menu{
		display: none;
	}
	.header .main_width {
		justify-content: space-between;
	}
	.form {
		padding: 20px;
	}
	.form input, .form textarea {
		min-width: 230px;
	}
	.img_block > .left_bl p, .img_block > .right_bl p {
	    font-size: 16px;
	}
	.b2 p {
	    font-size: 18px;
	}
}

@media (max-width: 680px){
	h2, .h2 {
		font-size: 27px;
	}

	.fx.ch2 > *{
		width: 100%;
		padding-right: 0;
	}
	.fx.ch2 > *:first-child{
		margin-bottom: 30px;
	}
	.big_p {
	    font-size: 17px;
	}
	
	.img_block > .left_bl, .img_block > .right_bl {
		padding: 20px;
	}
}
@media (max-width: 620px){
	h1, .h1 {
	    font-size: 33px;
	}

	h3, .h3 {
    	font-size: 27px;
	}
	.b2 {
	    padding: 40px 0;
	}
	.b1 .fx.spb{
		flex-wrap: wrap;
		justify-content: center;
	}
	.list > :first-child {
	    width: 100%;
	    margin-bottom: 25px;
	    text-align: center;
	}
	.img_block .img{
		width: 100%;
	}
	.img_block .right_bl, .img_block .left_bl{
		position: relative;
		right: 0;
		top: 0;
		transform: none;
		width: 100%;
		padding: 20px;
	}
	.img_block.left{
		flex-direction: column-reverse;
	}
	.form_bl > .fx.spb{
		flex-wrap: wrap;
	    justify-content: center;
	}
	.form_bl .fx.v {
	    padding: 0 0 20px;
	    width: 100%;
	}
}
@media (max-width: 520px){
	.header .logo {
	    width: 120px;
	}
	h1, .h1 {
	    font-size: 27px;
	}
	h2, .h2{
		font-size: 23px;
	}
	.form .h4 {
	    font-size: 20px;
	}
	h3, .h3 {
	    font-size: 20px;
	}
	.content_block{
		padding: 30px 0;
	}
	.cities .ch3 > *{
		max-width: 300px;
		width: 100%;
		justify-content: center;
	}
	.cities h1{
		padding-bottom: 3px;
		margin-bottom: 0;
	}
	.block {
	    padding: 20px 0 35px;
	}
	
	
}

@media (max-width: 440px){
	h2, .h2{
		font-size: 26px;
	}
	.main_width {
	    width: calc(100% - 34px);
	}
	
	.fx.ch4 > * {
	    width: 80%;
	    margin-right: 0;
	}
	.img_block > .img {
	    padding-bottom: 0;
	}
	.img_block > .img img{
		position: static;
	}
	
	
}
