@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
html{
	height: 100%;
	width: 100%;
	margin: 0;
	-webkit-overflow-scrolling:touch;
	background: linear-gradient(180deg, #ededed 0%, #c4c4c4 100%);
}
body{
	margin: 0;
	color: #000000;
	font-size: 14px;
	line-height: 1.2;
	font-family: "Inter Tight", sans-serif;
	position: relative;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	background: linear-gradient(180deg, #ededed 0%, #c4c4c4 100%);
	min-height: 100%;
	min-width: 320px;
	padding: 80px 0;
}
.fonts{
	font-family: "Playfair Display", serif;
	font-family: "Comfortaa", sans-serif;
}
body.active{
	overflow: hidden;
}
h1, h2, h3, h4, h5, h6{
	margin: 0 0 30px 0;
	font-weight: 700;
	color: #040404;
	line-height: 1.2;
}
h1{
	font-weight: 700;
	font-size: 72px;
}
h2{
	font-size: 48px;
}
h3{
	font-size: 30px;
}
h4{
	font-size: 24px;
}
h5{
	font-size: 20px;
}
h6{
	font-size: 16px;
}
p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #767676;
	margin: 0 0 25px 0;
}
p strong{
	font-weight: 600;
}
p a{
	text-decoration: underline;
	text-decoration-skip-ink: none;
	color: #8ff0cc;
}
p a:hover{
	text-decoration: none;
}
p:last-child{
	margin-bottom: 0px;
}
img{
	display: block;
	max-width: 100%;
}
a {
	outline: none;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}
ul{
	padding: 0;
	margin: 0;
}
li{
	list-style: none;
}
/*== buttons
---------------------------------*/
button{
	margin:0;
	padding:0;
	border:none;
	background:none;
	cursor:pointer;
	overflow:visible;
	width:auto;
	outline: none;
	box-shadow: none;
	font-family: inherit;
}
button:hover , button:focus , button:active{
	outline: none;
	text-decoration: none;
}
/*== inputs
---------------------------------*/
input , select , textarea{
	font-family: inherit;
}
input{
	outline: none;
	border: none;
	font-family: inherit;
}
textarea{
	font-family: inherit;
	height: 80px;
	outline: none;
}
.b-input-text{
	width: 100%;
	height: 52px;
	background: rgba(255, 255, 255, 0.42);
	mix-blend-mode: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 18px;
	color: #333333;
	transition: 0.3s;
	padding: 0 15px 0 33px;

}
.b-input-text::-webkit-input-placeholder{
	font-weight: 500;
	font-size: 16px;
	line-height: 18px;
	color: #A7A7A7;
}
.b-input-text:-moz-placeholder{
	font-weight: 500;
	font-size: 16px;
	line-height: 18px;
	color: #A7A7A7;
}
.b-input-text.error{
	border-color: #EF4231;
}
textarea{
	height: 80px;
	outline: none;
	resize: none;
}
.b-textarea{
	width: 100%;
	height: 180px;
	background: #FFFFFF;
	border: 1px solid #CAD1D7;

	border-radius: 10px;
	padding: 20px 30px;
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: #888888;	
}
.b-textarea::-webkit-input-placeholder{
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: #888888;	
}
.b-textarea:-moz-placeholder{
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: #888888;		
}
/*== checkbox , raido
---------------------------------*/
.b-checkbox{

}
.b-checkbox input[type="checkbox"]{
    display: none;
}
.b-checkbox input[type="checkbox"] + label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
}
.b-checkbox input[type="checkbox"] + label span{
	border: 1px solid rgba(73, 159, 95, 0.47);
	border-radius: 6px;
	background: #e8ece0;
	width: 20px;
	height: 20px;
	position: relative;
	margin: 0 7px 0 0;
	flex-shrink: 0;
	cursor: pointer;
}
.b-checkbox input[type="checkbox"]:checked + label span{
	background: #e8ece0 url("../images/check.svg") center no-repeat;
}
.b-checkbox input[type="checkbox"] + label i{
	padding: 2px 0 0 0;
	font-weight: 600;
	font-size: 13px;
	color: #006037;
	font-style: normal;
	cursor: pointer;
}
.b-checkbox input[type="checkbox"] + label i a{
	font-weight: 600;
	font-size: 13px;
	color: #006037;
	text-decoration: underline;
	margin: 0 0 0 5px;
}
.b-checkbox input[type="checkbox"] + label i a:hover , .b-checkbox input[type="checkbox"] + label i a:focus , .b-checkbox input[type="checkbox"] + label i a:active{
	text-decoration: none;
	opacity: 0.8;
	transition: 0.3s;
}
.b-check{
	margin: 10px 0 0 0;
}
.b-check input[type="checkbox"]{
    display: none;
}
.b-check input[type="checkbox"] + label span{
	width: 11px;
	height: 11px;
	color: rgba(36, 39, 52, 0.35);
	font-size: 11px;
	flex-shrink: 0;
	margin: 2px 4px 0 0;
	cursor: pointer;
}
.b-check input[type="checkbox"] + label{
    cursor: pointer;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}
.b-check input[type="checkbox"]:checked + label span{
	width: 11px;
	height: 11px;
	color: #333333;
}
.b-check input[type="checkbox"] + label i{
	font-style: italic;
	font-weight: 400;
	font-size: 13px;
	line-height: 1;
	text-align: right;
    color: rgba(36, 39, 52, 0.35);
	cursor: pointer;
}
.b-check input[type="checkbox"]:checked + label i{
	color: #333333;
}
/*== raido
---------------------------------*/
.b-radio:not(:last-child){
	margin-bottom: 5px;
}
.b-radio input[type="radio"]{
    display: none;
}
.b-radio input[type="radio"] + label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
}
.b-radio input[type="radio"] + label span{
	width: 18px;
	height: 18px;
	background: #FFFFFF;
	border: 2px solid #499f5f;
	border-radius: 100%;
	transition: 0.3s;
	position: relative;
	margin: -1px 6px 0 0;
	flex-shrink: 0;
	cursor: pointer;
}
.b-radio input[type="radio"] + label span:after{
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 9px;
	height: 9px;
	background: #499f5f;
	border-radius: 100%;
	transform: translate(-50% , -50%);	
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
.b-radio input[type="radio"]:checked + label span{

}
.b-radio input[type="radio"]:checked + label span:after{
	opacity: 1;
	visibility: visible;
	transition: 0.3s;
}
.b-radio input[type="radio"] + label i{
	font-weight: 500;
	font-size: 14px;
	line-height: 1.82;
	letter-spacing: 0.02em;
	color: #484848;
	padding: 0;
	font-style: normal;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}
select{
	outline: none;
	font-family: inherit;
}
.b-select{
	border: 1px solid rgba(73, 159, 95, 0.47);
	border-radius: 6px;
	width: 100%;
	height: 42px;
	padding: 0 13px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #848484;
	cursor: pointer;
	background: #e8ece0 url(../images/select-arrow.svg);
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px;
	-webkit-appearance: none;
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	-ms-appearance: none;
	appearance: none !important;
}
.b-select:valid {
	color: #006037;
}
a , button{
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-focus-ring-color: transparent;
}
/* End Total css ====*/
.container{
	max-width: 1290px;
	margin: 0 auto 0;
	padding: 0 42px;
}
*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.b-container{
	position: relative;
	background: #f7f7f7;
	border-radius: 20px;
	max-width: 1280px;
	margin: 0 auto 0;
	box-shadow: 0 20px 30px -10px rgba(14, 56, 38, 0.46);
}
.main_page{
	padding: 0 0 25px 0;
}
.b-mobile{
	display: none;
}
/* -------------- page index -------------- */
.header{
	min-height: 89px;
	margin-bottom: 20px;
}
.logo{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0 10px;
	font-weight: 700;
	font-size: 11px;
	line-height: 0.93;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #484848;
	text-decoration: none;
}
.logo span{
	font-family: "Comfortaa", sans-serif;
	text-transform: none;
	font-weight: 700;
	font-size: 36px;
	line-height: 0.93;
	letter-spacing: -0.02em;
}
.logo i{
	font-style: normal;
	padding-top: 5px;
}
.logo:hover{
	color: #579a68;
}
.logo:hover svg path{
	fill: #579a68;
}
.logo:hover svg circle{
	stroke: #579a68;
}
.header__container{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header__right{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0 60px;
}
.nav{
	background: url("../images/nav_bg.svg") center top no-repeat;
	width: 439px;
	height: 65px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.nav ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.nav ul li a{
	display: block;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #a8e3b7;
	text-decoration: none;
	position: relative;
	transition: 0.2s;
	padding: 0 37px;
}
.nav ul li:first-child a{
	padding-left: 0;
}
.nav ul li:last-child a{
	padding-right: 0;
}
.nav ul li a:after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: "";
	width: 1px;
	height: 30px;
	background: rgba(201, 250, 84, 0.5);
	opacity: 0.5;
}
.nav ul li:last-child a:after{
	display: none;
}
.nav ul li a:hover{
	color: #adf2be;
}
.nav ul li a.active{
	color: #fff;
}
.header__right-wrap{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.header__phone{
	font-weight: 500;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: #9b9b9b;
	text-decoration: none;
	margin-right: 25px;
	transition: 0.2s;
}
.header__phone b{
	font-weight: 700;
	color: #484848;
}
.header__phone:hover b{
	color: #006037;
}

.header__btn{
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0.50px solid rgba(95, 95, 95, 0.5);
	width: 128px;
	height: 46px;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-align: center;
	color: #484848;
	transition: 0.2s;
}
.header__btn:hover{
	background: #ffffff;
	border-color: #579a68;
	color: #006037;
}
/* =========== section =========== */
.main-container{
	display: flex;
	align-items: center;
	overflow: auto; /* или scroll */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none;  /* IE и Edge */
	scroll-behavior: auto;
}
.main-container::-webkit-scrollbar {
	display: none; /* Chrome, Safari и др. */
}
.section{
	flex-shrink: 0;
	scroll-snap-align: start;
}
.section .container{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: inherit;
}
.section__left{
	flex-shrink: 0;
}
.section__title{
	font-family: "Playfair Display", serif;
	font-weight: 600;
	font-size: 96px;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #006037;
	margin-bottom: 40px;
}
.section__sb{
	font-weight: 400;
	font-size: 27px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #767676;
	margin-bottom: 30px;
}
.section__title:last-child , .section__sb:last-child{
	margin-bottom: 0;
}
.section__image{
	max-width: 724px;
	flex-shrink: 0;
}
.section__items{
	width: 252px;
	flex-shrink: 0;
}
.section__item{
	border-radius: 44px;
	padding: 31px 41px;
	background: #e8ece0;
	min-height: 188px;
}
.section__item:not(:last-child){
	margin-bottom: 12px;
}
.section__item-name{
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #006037;
	margin-bottom: 25px;
	max-width: 100px;
}
.section__item p{
	font-family: "Inter Tight", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
}

.sectionNav{
	margin-top: 20px;
}
.sectionNav__btn{
	border: 0.50px solid rgba(141, 141, 141, 0.56);
	border-radius: 40px;
	width: 46px;
	height: 46px;
	margin: 0 auto 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sectionNav__btn svg{
	transition: 0.3s;
}
.sectionNav__btn.active svg{
	transform: rotateY(180deg);
}
.sectionNav ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0 15px;
}
.sectionNav ul li{
	flex: 1;
	background: rgba(163, 163, 163, 0.37);
	height: 4px;
	border-radius: 15px;
	transition: 0.2s;
}
.sectionNav ul li.active{
	background: #006037;
}

.section_1 .section__left{
	max-width: 653px;
	margin-right: 65px;
	flex-shrink: 0;
	padding-left: 58px;
}
.section_2{
	margin-right: 55px;
}
.section_2 .section__left{
	max-width: 554px;
	margin-right: 97px;
}
.section_2 .section__image{
	display: none;
}
.section_3 .section__left{
	max-width: 550px;
	margin-right: 50px;
}
.section_3 .section__item-name{
	max-width: 160px;
}
.section_3 .section__image{
	display: none;
}

.section__image.big{
	max-width: 827px;
}

.section_4{
	margin-right: 100px;
}
.section_4 .section__left{
	max-width: 557px;
}
.section_4 .section__image{
	margin-right: 80px;
}

.section_5{
	width: 100vw;
}
.section_5  .section__left{
	max-width: 557px;
	margin-right: 63px;
}
.section__image.disc{
	max-width: 470px;
	border-radius: 100%;
}

.img-md{
	display: none;
}
.copyright{
	display: none;
}
.section__btn{
	display: none;
}


.about_1 .section__left{
	margin-right: 125px;
}

.about_2{
	margin-right: 28px;
}
.about_2 .section__image{
	display: block;
	max-width: 827px;
}
.about_2  .section__left{
	margin-right: 61px;
}

.about_4{
	width: 100%;
	margin: 0;
}
.about_4 .container{
	align-items: flex-start;
}
.about_4 .section__items{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: auto;
	width: 47%;
	gap: 12px;
}
.about_4 .section__item{
	margin: 0;
	min-height: 138px;
}
.about_4 .section__item-name{
	max-width: inherit;
	margin: 0;
}
.about_4  .section__left{
	max-width: 540px;
	margin: 0 0 0 58px;
}

.about_5 .container{
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.section_5 .section__image{
	margin: 0 73px 0 58px;
}
.section_5 .section__left{
	margin: 0;
}

.section__image_1{
	display: none;
}
.about_3 .section__image{
	display: none;
}
.img-xs{
	display: none;
}


.contact_page{

}
.contact_page .section{
	width: 100vw;
}
.contact_1 .section__left{
	max-width: 555px;
	margin-right: 90px;
}
.contact_1 .section__left p{
	max-width: 434px;
}


.section_contact .container{
	align-items: flex-start;
}
.section_contact .section__left{
	max-width: 480px;
	margin: 0 80px 0 58px;
	padding: 60px 0 0 0;
}

.section__form{
	width: 100%;
	max-width: 500px;
	border-radius: 44px;
	padding: 31px 41px;
	background: #e8ece0;
}
.section__form-title{
	margin: 0 0 17px 0;
}
.section__form-title b{
	display: block;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #006037;
	margin-bottom: 10px;
}
.section__form p{
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #006037;
}
.section__form-item:not(:last-child){
	margin-bottom: 15px;
}
.section__form-item input{
	border: 1px solid rgba(73, 159, 95, 0.47);
	border-radius: 6px;
	width: 100%;
	height: 46px;
	background: #e8ece0;
	padding: 0 16px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #006037;
}
.section__form-item input::-webkit-input-placeholder{
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #006037;
}
.section__form-item input:-moz-placeholder{
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #006037;
}
.section__form-btn{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: left;
	border-radius: 6px;
	width: 100%;
	height: 46px;
	background: #499f5f;
	padding: 0 16px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #fff;
	cursor: pointer;
	margin: 15px 0 17px 0;
	transition: 0.3s;
}
.section__form-btn:hover{
	background: #36af55;
}

.contact_3 .section__left{
	margin: 0 60px 0 58px;
}
.contact_3 .section__image{
	max-width: 470px;
	margin: 0;
}


/* Absolute Center Spinner */
.loading {
	position: fixed;
	z-index: 999;
	height: 2em;
	width: 2em;
	overflow: show;
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

/* Transparent Overlay */
.loading:before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(rgba(20, 20, 20, .8), rgba(0, 0, 0, .8));

	background: -webkit-radial-gradient(rgba(20, 20, 20, .8), rgba(0, 0, 0, .8));
}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
	/* hide "loading..." text */
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
}

.loading:not(:required):after {
	content: '';
	display: block;
	font-size: 10px;
	width: 1em;
	height: 1em;
	margin-top: -0.5em;
	-webkit-animation: spinner 1000ms infinite linear;
	-moz-animation: spinner 1000ms infinite linear;
	-ms-animation: spinner 1000ms infinite linear;
	-o-animation: spinner 1000ms infinite linear;
	animation: spinner 1000ms infinite linear;
	border-radius: 0.5em;
	-webkit-box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0, rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) -1.5em 0 0 0, rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0, rgba(255, 255, 255, 0.75) 0 -1.5em 0 0, rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;
	box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0, rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) -1.5em 0 0 0, rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0, rgba(255, 255, 255, 0.75) 0 -1.5em 0 0, rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;
}

/* Animation */

@-webkit-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-moz-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-o-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.blur {
	filter: blur(10px);
}

.have-order, .no-order {
	display: none;
}


div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus {
	box-shadow: none !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel {
	color: #666 !important;
}

button:disabled {
	pointer-events: none;
	opacity: 0.5;
}

.btn-live-chat {
	text-decoration: none;
}

.b-order-top__cancelled {
	margin: 0 0 63px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}