/* normal */

:root{
	--text_clr: #450d2d;
	--clr1: #450d2d;
	--clr2: #ad96b7;
	--clr3: #a185a5;
	--border_clr : #a185a5;
	--box_clr : #eeeaf2;
	--border_radius: 0px;
	--light_text: #ccc;
	--awesome100 : 100 100% "Font Awesome 6 Pro";
	--awesome300 : 300 100% "Font Awesome 6 Pro";
	--awesome400 : 400 100% "Font Awesome 6 Pro";
	--awesome900 : 900 100% "Font Awesome 6 Pro";
	--light_weight: 300;
	--normal_weight : 300;
	--medium_weight : 700;
	--bold_weight : 700;
	
}

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	
}
html,
body {
	font-family: "farnham-display", serif;
	font-size: 18px;
	color: var(--text_clr);
	font-weight: var(--normal_weight);
	line-height:2;
	word-break: break-word;
	scroll-behavior:smooth;
	
}

body {
	background: #fff;
}
img {
	border: 0px;
	display: block;
	max-width: 100%;
	height:auto;
}
a{color:inherit; text-decoration: none; transition-duration:0.2s;}

input,
select,
textarea,
button{ -webkit-appearance: none;-moz-appearance:none; appearance:none; outline: none; font:inherit}
input[type="checkbox"]{-webkit-appearance: unset;-moz-appearance:unset; appearance:unset;}
button{cursor:pointer}

ul {
	list-style: disc;
}
h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
	font-weight: var(--bold_weight); line-height:1.3; margin-bottom:1em
}

h1, .h1{font-size:72px;}
h2, .h2{font-size:40px;}
h3, .h3{font-size:22px;}
h4, .h4{font-size:20px;}
h5, .h5{font-size:19px;}
h6, .h6{font-size:18px;}

p{margin-bottom:1em}
b, strong{font-weight: var(--bold_weight);}

.maxw1{    width: 100%; max-width:1540px; margin:0 auto; padding: 0 20px}
.maxw2{    width: 100%; max-width:1270px; margin:0 auto; padding: 0 20px}

.clear{clear:both;}
.flexbox{display:flex; flex-wrap:wrap}
.flexbox.space_between{justify-content: space-between;} 
.flexbox.justify_center{justify-content: center;} 
.flexbox.align_right{justify-content: flex-end;}
.flexbox.align_center{align-items: center;}
.flexbox.align_bottom{align-items: flex-end;}
.flexbox.align_top{align-items: flex-start;}

.grid{display:grid; gap: 40px;}
.grid.cols2{grid-template-columns: repeat(2, 1fr);}
.grid.cols3{grid-template-columns: repeat(3, 1fr);}
.grid.cols4{grid-template-columns: repeat(4, 1fr);}
.grid.cols5{grid-template-columns: repeat(5, 1fr);}
.grid.cols6{grid-template-columns: repeat(6, 1fr);}

.grid .col2{grid-column:span 2}
.grid .col3{grid-column:span 3}
.grid .col4{grid-column:span 4}
.grid .col5{grid-column:span 5}
.grid .col6{grid-column:span 6}

.grid.align_top{align-items: start}
.grid.align_center{align-items: center}
.grid.align_bottom{align-items: end}

.center_text{text-align:center;}
.center_text ul, .center_text ol{text-align:left;}

.btn_bar{display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:2rem;}
.btn{display:inline-flex; align-items:center; line-height:1; border:none}

.btn:hover{transform:translatey(-2px)}

.btn.l_btn{font-size:28px; font-weight:var(--bold_weight); padding: 17px 30px 17px 30px ; border-radius:var(--border_radius)}
.btn.n_btn{font-size:20px; font-weight:var(--normal_weight); padding: 21px 30px 21px 30px ; border-radius:var(--border_radius)}

.btn.round_btn{display:inline-flex; align-items: center; justify-content: center; width:54px; height:54px; font-size:20px; border-radius:100%}

.btn img{width:30px; margin-top:-10px; margin-bottom:-10px;}
.btn .icon_left{display:inline-block; margin-right:15px; vertical-align:middle}
.btn .icon_right{display:inline-block; margin-left:15px; vertical-align:middle }

.btn.clr1_white{color:#fff; background:var(--clr1);}
.btn.clr2_white{color:#fff; background:var(--clr2);}
.btn.clr3_white{color:#fff; background:var(--clr3);}

.no_scroll{overflow:hidden;}

.table_wrap{overflow-x:auto; word-break: auto-phrase;}
.table_wrap table{border-collapse: collapse;}
.table_wrap table td{border:1px solid var(--border_clr); padding:5px 10px; vertical-align:top; min-width: 200px}

.content_container ul, .content_container ol{margin-left:30px; margin-bottom:1em;}
.content_container b, .content_container strong{font-weight:var(--bold_weight)}
.content_container a{text-decoration:underline; font-weight:var(--normal_weight)}

.mob_menu{position:absolute; right:0; top:0; z-index:999999; height:0; overflow:hidden; transition-duration:0.2s}
.mob_menu.active{height:100dvh}
.mob_menu .inner{padding:20px 20px; background:var(--box_clr); height:100dvh; overflow-y:auto; width:100dvw; position:relative}
.mob_menu:after{content:""; width:150px; height:300px; position:absolute; bottom:0; right:20px; background:url(img/herb.png) no-repeat bottom/contain; opacity:0.03; z-index:0}
.mob_menu .inner .menu_top{text-align:right; margin-bottom:2em; position:relative; z-index:1}
.mob_menu .inner .menu_content{text-align:center; font-size:20px; position:relative; z-index:1}
.mob_menu .inner .menu_content ul{list-style:none}
.mob_menu .inner .menu_content ul li{margin-bottom:1em}


.header{font-size:22px; padding: 25px 0}
.header .logo{width:450px}
.header .menu{width:calc(100% - 500px); }
.header ul{display:inline-flex; }
.header ul li{display:inline-block; margin-right:45px;}
.header ul li.home{display:inline-flex; align-items:center;}
.header ul li.home a{font-size:0; }
.header ul li.home a:before{content:""; width:28px; height:28px; background:url(img/home.png) no-repeat center/contain; display:inline-block; }
.header ul li a:hover{opacity:0.7}

.header .btn:hover{opacity:0.7}

.header .menu_btn{display:none; margin-left:30px;}
.header .menu_btn:hover{opacity:0.7}

.banner{position:relative; min-height:300px; overflow-x:hidden; margin-bottom:110px}
.banner:after{content:""; padding-bottom:36%; display:block;}

.banner.subpage{min-height:200px; margin-bottom:0px;}
.banner.subpage:after{content:""; padding-bottom:20%; display:block;}
.banner .slider{position:absolute; height:100%; width:100%; top:0; left:0;}
.banner .overlay{position:absolute; width:100%; height:100%; background:linear-gradient(0deg , rgba(69,13,45,0.5)  , transparent);     z-index: 9;}
.banner .overlay .inner{position:absolute; width:100%; height:100%; padding: 8% 0 8%; left:0; top:0}
.banner.subpage .overlay .inner{padding: 8% 0 4%;}
.banner .overlay .inner .slogan{color:#fff; font-weight:var(--normal_weight); line-height:1; margin-bottom:0}
.banner .overlay .inner .slogan span{font-weight:var(--bold_weight); font-style:italic; display:block;}

.breadcrumbs{text-align:right; padding: 10px; text-align:right; margin-bottom:70px; color:rgba(69,13,45,0.5); font-size:0.9rem}
.breadcrumbs a:hover{color:var(--clr1)}

.contentblock{margin-bottom:110px;}

.text_img_block{}
.text_img_block .text{width:50%; padding: 70px; background:var(--clr2)}
.text_img_block .text .name{margin-bottom:30px}
.text_img_block .img{width:50%; position:relative;}
.text_img_block .img img{width:100%; height:100%; position:relative; object-fit:cover;}

.text_contact_block .text{width:50%; padding: 70px; background:var(--clr2)}
.text_contact_block .text .name{margin-bottom:30px}
.text_contact_block .contact{width:50%; position:relative; background:var(--box_clr); padding: 70px;}
.text_contact_block .contact .title{font-weight:var(--bold_weight)}
.text_contact_block .contact .socials{margin: 1rem 0; gap:15px;}
.text_contact_block .contact  .socials a{font-size:24px;}
.text_contact_block .contact a i{display:inline-block; width:25px;}
.text_contact_block .contact .line{padding: 5px 0; border-bottom:1px solid var(--clr2)}
.text_contact_block .contact .line .label{width:330px; padding-right:20px}
.text_contact_block .contact .line .value{width:calc(100% - 330px);}

.certificates{background:var(--box_clr); padding: 80px 0px}
.certificates .flexbox{gap:40px}
.certificates .cert_item{position:relative;background:#fff; width:300px; background:#fff; padding:20px; text-align:center; }
.certificates .cert_item .img{position:relative; top:0; left:0; padding: 20px;   width:100%;   display: flex;    justify-content: center;    align-items: center; max-width:120px; margin: 0 auto 20px; }
.certificates .cert_item .img:after{content:""; padding-bottom:100%; display:block;}
.certificates .cert_item .img .inner{position:absolute; width:100%; height:100%; }
.certificates .cert_item .img img{position:absolute; width:100%; height:100%; object-fit:contain}

.blogs{padding: 80px 0; position:relative;}
.blogs .bg{position:absolute; height:100%; width:50%; background:var(--box_clr); top:0; left:0}
.blogs .inner{position:relative;}
.blogs .blog_item{position:relative; min-height:250px; overflow:hidden;}
.blogs .blog_item:after{content:""; padding-bottom:78%; display:block}
.blogs .blog_item .img{position:absolute; height:100%; width:100%; transition-duration:0.2s}
.blogs .blog_item .overlay{position:absolute; height:100%; width:100%; background:linear-gradient(0deg , rgba(69,13,45,0.75)  , transparent); color:#fff; padding:40px 35px;  }
.blogs .blog_item .overlay .blog_item_title{font-size:1.3rem; line-height:1.5;}
.blogs .blog_item .overlay .blog_item_title b{font-weight:var(--bold_weight); display:block}
.blogs .blog_item:hover .img{transform:scale(102%)}


.three_blocks .block{text-align:center; display:grid; grid-template-rows:subgrid; grid-row:span 5; gap:15px; background:var(--box_clr); padding: 40px 20px}
.three_blocks .block .top_block{display:grid; grid-template-rows:subgrid; grid-row:span 3;}
.three_blocks .block .icon img{width:80px; height:80px; display:inline-block; object-fit:contain}
.three_blocks .block .title_bar .title{    font-weight: var(--bold_weight);    line-height: 1.3; font-size:26px}
.three_blocks .block .title_bar .subtitle{color:var(--clr2); font-weight:var(--bold_weight)}
.three_blocks .block .price{color:var(--clr2); margin-bottom:0}
.three_blocks .block .btn_bar{justify-content:center; margin-top:0}
.three_blocks .block .content_container{max-width:800px;     margin: 0 auto;}

.review_block{background:var(--clr2); padding:80px 0}
.review_block .review_slider {overflow:hidden;}
.review_block .review_item{background:#fff; padding: 40px 30px}
.review_block .review_item .stars{margin-bottom:1em; color:var(--clr2)}
.review_block .review_item .name{font-weight:var(--bold_weight)}

.faq_block .faq {}
.faq_block .faq .faq_item{margin-bottom:1rem}
.faq_block .faq .faq_question{border-bottom:1px solid var(--border_clr); padding-right:30px; position:relative; line-height:1.3; padding-bottom:1rem }
.faq_block .faq .faq_question:after{content:"\f107"; font:var(--awesome400); display:block; position:absolute; right:0; top:3px; transition-duration:0.2s}
.faq_block .faq .faq_question:hover{color:var(--clr1)}
.faq_block .faq .faq_item.active .faq_question:after{transform:rotate(180deg)}
.faq_block .faq .faq_answer{display:none; padding-top:10px}
.faq_block .faq .faq_item:first-of-type .faq_answer {display:block}

.slogan_block{background:var(--box_clr); font-size:50px; text-align:center; padding: 80px 0; line-height:1.3;  }

.footer{background:var(--clr1); color:#fff; padding: 80px 0}
.footer .title{font-weight:var(--bold_weight)}
.footer img{margin-top:-20px}
.footer a:hover{opacity:0.7}
.footer a i{display:inline-block; width:25px;}
.footer ul{column-count:2; gap:40px;}
.footer ul li{list-style:none}
.footer ul li a{display:block; margin-left:30px;}
.footer ul li a:before{content:"\f178"; font: var(--awesome400); display:inline-block; width:30px; margin-left:-30px}

.disclaimer{padding:40px 0; font-size:0.88rem; opacity:0.5}

.bottom{background:#d0c0c9; padding: 20px 0; color:#fff}
.bottom a:hover{color:var(--clr1)}

.wpcf7 .form_item{margin-bottom: 20px; display:flex; flex-wrap:wrap}
.wpcf7 .label{width: 180px; }
.wpcf7 .form_field{width: calc(100% - 180px); }
.wpcf7 input, .wpcf7 textarea,  .wpcf7 select{width:100%; padding:5px 15px; border: 1px solid var(--border_clr) ; border-radius:var(--border_radius); font:inherit }
.wpcf7 textarea{height:200px}

.wpcf7 select{background:url(img/angle-down.png) no-repeat calc(100% - 10px) 50% #fff;}

span.wpcf7-list-item {display: block;margin: 0px 0 0;}
span.checkbox{margin-top:10px; display: block;}
.wpcf7 .wpcf7-list-item {display: block; width: 100%;}
.wpcf7-list-item-label {margin-left: 30px;display: inline-block; vertical-align: top;}
.wpcf7-checkbox {padding: 5px 0px; display:inline-block}
.wpcf7-checkbox label {position: relative;cursor: pointer;}
.wpcf7-checkbox input[type=checkbox] {position: absolute;visibility: hidden;height: 1em;width: 1em;top: 0.05em;left: 0px;}
.wpcf7-checkbox input[type=checkbox] + span:before {display: block;position: absolute;content: '';border-radius: 0;height: 1em;width: 1em;top: 0.05em;left: 0px;border: 1px solid var(--border_clr); background:#fff}
.wpcf7-checkbox input[type=checkbox] + span:after {display: flex;        justify-content: center; align-items: center;position: absolute;content: "\f00d";font:var(--awesome900); height: calc(1em - 3px);    width: calc(1em - 3px);color:var(--clr1);top: calc(0.05em + 2px);    left: 2px;visibility: hidden;font-size: 1em;text-align: center; }
.wpcf7-checkbox input[type=checkbox]:checked + span:before {background: transparent;}
.wpcf7-checkbox input[type=checkbox]:checked + span:after {visibility: visible;}

.wpcf7-acceptance {padding: 5px 0px; display:inline-block}
.wpcf7-acceptance label {position: relative;cursor: pointer;}
.wpcf7-acceptance input[type=checkbox] {position: absolute;visibility: hidden;height: 1em;width: 1em;top: 0.05em;left: 0px;}
.wpcf7-acceptance input[type=checkbox] + span:before {display: block;position: absolute;content: '';border-radius: 0;height: 1em;width: 1em;top: 0.05em;left: 0px;border: 1px solid var(--border_clr); background:#fff}
.wpcf7-acceptance input[type=checkbox] + span:after {display: flex;        justify-content: center; align-items: center;position: absolute;content: "\f00d";font:var(--awesome900); height: calc(1em - 3px);    width: calc(1em - 3px);color:var(--clr1);top: calc(0.05em + 2px);    left: 2px;visibility: hidden;font-size: 1em;text-align: center; }
.wpcf7-acceptance input[type=checkbox]:checked + span:before {background: transparent;}
.wpcf7-acceptance input[type=checkbox]:checked + span:after {visibility: visible;}

.wpcf7-radio label {position: relative;cursor: pointer;}
.wpcf7-radio input[type=radio] {position: absolute;visibility: hidden;width: 1em;height: 1em;top: 0;left: 0;}
.wpcf7-radio input[type=radio] + span:before {display: block;position: absolute;content: '';border-radius: 100%;height: 1em;width: 1em;top: 0.05em;left: 0px;border: 1px solid var(--border_clr); background:#fff}
.wpcf7-radio input[type=radio] + span:after {display: block;position: absolute;content: "";font:var(--awesome900); height: calc(1em - 3px);    width: calc(1em - 3px);    color: var(--clr1);    background: var(--clr1);
    border-radius: 100%;    top: calc(0.05em + 2px);    left: 2px;visibility: hidden;text-align: center;}
.wpcf7-radio input[type=radio]:checked + span:before {background: transparent;}
.wpcf7-radio input[type=radio]:checked + span:after {visibility: visible;}

.pass_calendar {display:flex; flex-wrap:wrap; align-items:stretch}
.pass_calendar input{padding:12px 15px; border: 1px solid var(--border_clr) ; border-radius:var(--border_radius); font:inherit }


@media only screen and (max-width: 1450px) {
	.header .logo{width:350px}
	.header .menu{width:calc(100% - 370px); }
}


@media only screen and (max-width: 1300px) {
	.header .logo{width:300px}
	.header .menu{width:calc(100% - 320px); }
	.header {font-size: 20px;}
	.header .menu ul li{margin-right:30px}
	
	.text_img_block .text {padding: 50px 40px;}
	.text_contact_block .text {padding: 50px 40px;}
	.text_contact_block .contact {padding: 50px 40px;}
	
	.text_contact_block .contact .line .label {    width: 100%; font-weight:var(--bold_weight)}
	.text_contact_block .contact .line .value {    width: 100%;}
	
	.three_blocks .grid{grid-template-columns:repeat(1, 1fr)}
	
}

@media only screen and (max-width: 1150px) {
	h1, .h1{font-size:60px}
	.header .menu ul{display:none}
	.header .menu_btn{display:inline-flex}
	.banner{margin-bottom:80px}
	.contentblock{margin-bottom:80px}
	.breadcrumbs {margin-bottom: 50px;}
	
	.blogs .bg { width: 66.66%;}
	.blogs .grid.cols3{grid-template-columns:repeat(2, 1fr)}
	.blogs.latest_blogs .blog_item:nth-of-type(3){display:none}
	
	.text_img_block .wpcf7 .label{width: 100%; }
	.text_img_block .wpcf7 .form_field{width:100%; }
	.text_contact_block .wpcf7 .label{width: 100%; }
	.text_contact_block .wpcf7 .form_field{width:100%; }
	
	.cert_logos{grid-template-columns:repeat(3, 1fr);}
}
@media only screen and (max-width: 1050px) {

	.text_img_block .text {padding: 50px 25px;}
	.text_contact_block .text {padding: 50px 25px;}
	.text_contact_block .contact{padding: 50px 25px;}
}

@media only screen and (max-width: 960px) {
	.text_img_block .text{width:100%; }
	.text_img_block .img{width:100%;}
	
	.text_contact_block .text{width:100%; }
	.text_contact_block .contact{width:100%;}
	
	.footer .grid.cols4 {    grid-template-columns: repeat(2, 1fr);}
	
	
	
	.text_img_block .wpcf7 .label{width: 180px;}
	.text_img_block .wpcf7 .form_field{width:calc(100% - 180px); }
	.text_contact_block .wpcf7 .label{width: 180px; }
	.text_contact_block .wpcf7 .form_field{width:calc(100% - 180px); }
	
	.cert_logos{grid-template-columns:repeat(5, 1fr);}
}

@media only screen and (max-width: 800px) {
	h1, .h1{font-size:50px}
	.menu .btn{position:relative; width:42px; flex-wrap:wrap; justify-content:center; margin-left:15px;}
	.menu .btn img{margin:0 0 7px}
	.menu .btn > span{    position: relative;    font-size: 10px;    bottom: 0px;   text-align: center;  }
	.menu .btn > span span{display:none}
	.blogs .blog_item .overlay { padding: 30px 20px;}
	.cert_logos{grid-template-columns:repeat(4, 1fr);}
}

@media only screen and (max-width: 650px) {
	.header {  font-size: 18px;    }
	.header .logo{width:200px}
	.header .menu{width:calc(100% - 220px); }
	.banner{margin-bottom:60px}
	.contentblock{margin-bottom:60px}
	.breadcrumbs {margin-bottom: 20px;}
	.blogs .grid.cols3{grid-template-columns:repeat(1, 1fr)}
	
	
	 .wpcf7 .label{width: 100%;}
	 .wpcf7 .form_field{width:100% }
	.text_img_block .wpcf7 .label{width: 100%;}
	.text_img_block .wpcf7 .form_field{width:100% }
	.text_contact_block .wpcf7 .label{width: 100%; }
	.text_contact_block .wpcf7 .form_field{width:100%; }
	.slogan_block{font-size:40px}
}

@media only screen and (max-width: 580px) {
	.cert_logos{grid-template-columns:repeat(3, 1fr);}
}

@media only screen and (max-width: 470px) {
	html, body {font-size: 16px;}
	.maxw1, .maxw2{padding: 0 10px;}
	h1, .h1{font-size:35px}
	h2, .h2 {    font-size: 30px;} 
	
	.slogan_block{font-size:30px}
	.footer img{margin-top:0; width:100px}
	.footer .grid.cols4 {    grid-template-columns: repeat(1, 1fr);}
	.footer .col2{grid-column:span 1}
	.footer ul {    column-count: 1;}
	.pass_calendar input{padding:14px 15px; }
}

@media only screen and (max-width: 380px) {
	.header .logo{width:180px}
	.header .menu{width:calc(100% - 180px); }
	.cert_logos{grid-template-columns:repeat(2, 1fr);}
	
}
@media print {
   
	html, body {  
			page-break-after: avoid;
            page-break-before: avoid; 
			border: 1px solid white;
            height: 99%;}
   
	div{display:block; width:100%}
   
  
}