.btn,
#contactModal .form p.submit span input[type=submit] {
   display: inline-block;
   color: #FFF !important;
   font-size: 16px;
   font-weight: 600;
   line-height: normal;
   text-transform: uppercase;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   max-width: 320px;
   padding: 24px 22px;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   background: #2F9D46;
   border-radius: 50px;
   -webkit-transition: all 0.4s ease;
   transition: all 0.4s ease;
   cursor: pointer;
}

.btn:hover,
#contactModal .form p.submit span input[type=submit]:hover {
   background: #2A8E3F;
}

.btn:active,
#contactModal .form p.submit span input[type=submit]:active {
   background: #27883B;
}

.btn:focus,
#contactModal .form p.submit span input[type=submit]:focus {
   color: #FFF !important;
}

.btn:visited,
#contactModal .form p.submit span input[type=submit]:visited {
   color: #FFF !important;
}

.outline {
   border: 1px solid #2F9D46 !important;
   background: #FFF !important;
   color: #141414 !important;
}

.outline:hover {
   color: #fff !important;
   background: #2A8D3F !important;
}

.outline:active {
   background: #27883B !important;
}

.outline:visited,
.outline:focus {
   color: #141414 !important;
}

body:has(.mfp-wrap) .mfp-wrap {
   overflow: hidden !important;
   height: 100vh;
}

#contactModal {
   text-align: center;
}

#contactModal h2 {
   color: #2F9D46;
   font-size: 54px;
   font-weight: 600;
   line-height: 130%;
   margin-bottom: 14px;
}

#contactModal p.modal__text {
   font-size: 20px;
   font-weight: 400;
   line-height: 140%;
   margin-bottom: 14px;
}

#contactModal .form p {
   margin-bottom: 14px;
}

#contactModal .form p span.txt {
   position: relative;
}

#contactModal .form p.textarea {
   margin-bottom: 18px;
}

#contactModal .form p.submit span input[type=submit] {
   width: 100%;
   max-width: unset;
}

#contactModal .form p.accept {
   font-size: 14px;
   font-weight: 400;
   line-height: 140%;
}

#contactModal .form p.accept a {
   color: #2F9D46;
}

#contactModal .form p span {
   position: relative;
   width: 100%;
   display: inline-block;
}

#contactModal .form p span span.wpcf7-not-valid-tip {
   text-align: left;
   margin-top: 5px;
   font-size: 12px;
}

.wpcf7 form .wpcf7-response-output {
   margin: 0 !important;
   padding: 0 !important;
   font-size: 18px;
   font-weight: 600;
   border: none !important;
   background: transparent;
   display: none;
}

.sent .wpcf7-response-output {
   display: inline-block;
}

#contactModal .form p span input[type=text],
#contactModal .form p span input[type=tel] {
   width: 100%;
   padding: 20px;
   border-radius: 18px;
   border: 1px solid #DCDCDC;
   background: #FFF;
   font-size: 14px;
   font-style: normal;
   font-weight: 400;
   line-height: 140%;
   color: #141414;
   font-family: "Commissioner";
   caret-color: #2F9D46;
}

#contactModal .form p span input[type=text]::-webkit-input-placeholder,
#contactModal .form p span input[type=tel]::-webkit-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::-moz-placeholder,
#contactModal .form p span input[type=tel]::-moz-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]:-ms-input-placeholder,
#contactModal .form p span input[type=tel]:-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::-ms-input-placeholder,
#contactModal .form p span input[type=tel]::-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::-webkit-input-placeholder, #contactModal .form p span input[type=tel]::-webkit-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::-moz-placeholder, #contactModal .form p span input[type=tel]::-moz-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]:-ms-input-placeholder, #contactModal .form p span input[type=tel]:-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::-ms-input-placeholder, #contactModal .form p span input[type=tel]::-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]::placeholder,
#contactModal .form p span input[type=tel]::placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span input[type=text]:active,
#contactModal .form p span input[type=tel]:active {
   border: 1px solid #959595;
}

#contactModal .form p span input[type=text]:focus,
#contactModal .form p span input[type=tel]:focus {
   border: 1px solid #959595;
}

#contactModal .form p span input.wpcf7-not-valid[type=text],
#contactModal .form p span input.wpcf7-not-valid[type=tel] {
   border: 1px solid #FF0000;
}

#contactModal .form p span textarea {
   width: 100%;
   min-height: 80px;
   padding: 20px;
   border-radius: 18px;
   border: 1px solid #DCDCDC;
   background: #FFF;
   font-size: 14px;
   font-family: "Commissioner";
   font-style: normal;
   font-weight: 400;
   line-height: 140%;
   color: #141414;
}

#contactModal .form p span textarea::-webkit-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span textarea::-moz-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span textarea:-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span textarea::-ms-input-placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span textarea::placeholder {
   color: rgba(20, 20, 20, 0.5019607843);
}

#contactModal .form p span textarea:active {
   border: 1px solid #959595;
}

#contactModal .form p span textarea:focus {
   border: 1px solid #959595;
}

#contactModal .form p span.wpcf7-spinner {
   width: 24px;
   height: 24px;
}

.white-popup {
   position: relative;
   background: #FFF;
   padding: 50px 20px 20px 20px;
   border-radius: 20px;
   width: auto;
   max-width: 482px;
   margin: 20px auto;
}

.mfp-close {
   width: 40px;
   height: 40px;
   background: url(../img/mfp-close.svg) center 100%/contain no-repeat;
   -webkit-transform: translate(-50%, 50%);
   -ms-transform: translate(-50%, 50%);
       transform: translate(-50%, 50%);
}

.section__hero {
   padding: 22px 0;
}

.hero__content {
   -ms-flex-item-align: stretch;
   -ms-grid-row-align: stretch;
   align-self: stretch;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   width: 57.45%;
   margin-right: 18px;
   background: url(../img/home_content_bg.webp) center center / 100% 100% no-repeat;
}

.hero__content > div {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-item-align: center;
   -ms-grid-row-align: center;
   align-self: center;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   padding: 0 70px;
}

.hero__content h1 {
   margin-bottom: 20px;
}

.hero__content p {
   color: #141414;
   font-size: 20px;
   font-weight: 400;
   line-height: 140%;
   margin-bottom: 30px;
}

.hero__content .btn {
   width: 308px;
}

.hero__content .btn:after {
   content: "";
   display: inline-block;
   width: 14px;
   height: 14px;
   background: url(../img/carbon_arrow_down.svg);
   margin-left: 8px;
   opacity: 1;
   -webkit-transition: all 0.4s ease;
   transition: all 0.4s ease;
}

.hero__content .btn:hover:after {
   opacity: 0;
}

.hero__swiper {
   width: 41%;
   overflow: hidden;
   position: relative;
   border-radius: 18px;
}

.swiper__controls {
   z-index: 10;
   position: absolute;
   bottom: 0;
   left: 50%;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
}

.swiper__controls .swiper-prev {
   position: relative;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   width: 54px;
   height: 75px;
   border-radius: 8px;
   border: 1px solid #DCDCDC;
   background: #FFF;
   margin-right: 9px;
   -webkit-transition: all 0.4s ease;
   transition: all 0.4s ease;
}

.swiper__controls .swiper-prev.swiper-button-disabled {
   opacity: 0.35;
   cursor: auto;
   pointer-events: none;
}

.swiper__controls .swiper-prev:before {
   content: "";
   display: block;
   width: 24px;
   height: 24px;
   background: url(../img/carbon_arrow-left.svg) center no-repeat;
}

.swiper__controls .swiper-prev:hover {
   background: #2A8E3F;
   border: 1px solid #2A8E3F;
   cursor: pointer;
}

.swiper__controls .swiper-prev:hover:before {
   -webkit-filter: invert(1);
   filter: invert(1);
}

.swiper__controls .swiper-next {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   width: 54px;
   height: 75px;
   border-radius: 8px;
   border: 1px solid #DCDCDC;
   background: #FFF;
   -webkit-transition: all 0.4s ease;
   transition: all 0.4s ease;
}

.swiper__controls .swiper-next.swiper-button-disabled {
   opacity: 0.35;
   cursor: auto;
   pointer-events: none;
}

.swiper__controls .swiper-next:before {
   content: "";
   display: block;
   width: 24px;
   height: 24px;
   background: url(../img/carbon_arrow-left.svg) center no-repeat;
   -webkit-transform: rotate(180deg);
   -ms-transform: rotate(180deg);
       transform: rotate(180deg);
}

.swiper__controls .swiper-next:hover {
   background: #2A8E3F;
   border: 1px solid #2A8E3F;
   cursor: pointer;
}

.swiper__controls .swiper-next:hover:before {
   -webkit-filter: invert(1);
   filter: invert(1);
}

.hero__swiper .swiper-wrapper .swiper-slide {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
}

.section__reviews {
   background: url(../img/reviews_bg.webp) left 0%/100% no-repeat;
   background-size: cover;
}

.reviews {
   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;
   height: 187px;
}

.reviews .average {
   color: #2F9D46;
   font-size: 40px;
   font-style: normal;
   font-weight: 600;
   line-height: 130%;
}

.reviews .average span {
   color: #141414;
   font-size: 20px;
   font-weight: 400;
   line-height: 140%;
   margin-left: 10px;
}

.reviews .total {
   color: #2F9D46;
   font-size: 40px;
   font-weight: 600;
   line-height: 130%;
}

.reviews .total span {
   color: #141414;
   font-size: 20px;
   font-weight: 400;
   line-height: 140%;
   margin-left: 10px;
}

.section__compact {
   padding-top: 140px;
}

.compact {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   border-radius: 18px;
   background: #FFF;
   overflow: hidden;
   gap: 18px;
}

.compact__content {
   padding-left: 70px;
   width: 50%;
}

.compact__content h2 {
   margin-bottom: 20px;
}

.compact__content p {
   color: #141414;
   font-size: 24px;
   font-weight: 400;
   line-height: 140%;
}

.compact__img {
   width: 50%;
}

.section__cleaning {
   padding-top: 140px;
}

.cleaning__content h2 {
   color: #2F9D46;
   text-align: center;
   margin-bottom: 37px;
}

.cleaning__content p {
   color: #141414;
   font-size: 24px;
   font-weight: 400;
   line-height: 140%;
   margin-bottom: 24px;
}

.cleaning__levels {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
}

.cleaning__levels .cleaning__layers {
   width: calc(50% - 10px);
   border-radius: 18px;
   background: #EEF7EF;
}

.cleaning__levels .cleaning__layers span {
   display: none;
}

.cleaning__levels ul.cleaning__desc {
   list-style: none;
   width: calc(50% - 10px);
}

.cleaning__levels ul.cleaning__desc li {
   padding: 21px 24px;
   margin-bottom: 13px;
   border-radius: 18px;
   background: #FFF;
   position: relative;
}

.cleaning__levels ul.cleaning__desc li:before {
   display: block;
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   height: 2px;
   background: rgba(47, 157, 70, 0.2392156863);
   width: 33.5%;
   -webkit-transform: translate(-100%, -50%);
   -ms-transform: translate(-100%, -50%);
       transform: translate(-100%, -50%);
}

.cleaning__levels ul.cleaning__desc li:after {
   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: 36px;
   height: 36px;
   top: 50%;
   left: -33.5%;
   -webkit-transform: translate(0, -50%);
   -ms-transform: translate(0, -50%);
       transform: translate(0, -50%);
   background: #2F9D46;
   border-radius: 50%;
   color: #FFF;
   text-align: center;
   font-size: 20px;
   font-weight: 600;
   line-height: 140%;
}

.cleaning__levels ul.cleaning__desc li:nth-child(1):after {
   content: "1";
}

.cleaning__levels ul.cleaning__desc li:nth-child(2):after {
   content: "2";
}

.cleaning__levels ul.cleaning__desc li:nth-child(3):after {
   content: "3";
}

.cleaning__levels ul.cleaning__desc li:nth-child(4):after {
   content: "4";
}

.cleaning__levels ul.cleaning__desc li:nth-child(5):after {
   content: "5";
}

.cleaning__levels ul.cleaning__desc li:last-child {
   margin-bottom: 0;
}

.cleaning__levels ul.cleaning__desc li:last-child:after {
   content: "6";
}

.cleaning__levels ul.cleaning__desc li h5 {
   color: #141414;
   font-size: 18px;
   font-weight: 600;
   line-height: 140%;
   margin-bottom: 8px;
}

.cleaning__levels ul.cleaning__desc li p {
   color: #141414;
   font-size: 16px;
   font-weight: 400;
   line-height: 140%;
}

.section__benefit {
   padding-top: 142px;
}

.benefit__half {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   position: relative;
   background: url(../img/benefit_bg1.webp) center/contain no-repeat;
}

.benefit__half .benefit__content {
   width: 50%;
   padding: 42px 55px 42px 42px;
}

.benefit__half .benefit__content h3 {
   color: #2F9D46;
   margin-bottom: 14px;
}

.benefit__half .benefit__content p {
   color: #141414;
   font-size: 24px;
   font-weight: 400;
   line-height: 140%;
}

.benefit__half .benefit__img {
   width: 50%;
   padding: 34px;
}

.benefit__half .benefit__img img {
   height: 683px;
   border-radius: 18px;
   width: 100%;
   -o-object-fit: cover;
      object-fit: cover;
}

.benefit__half.reflect {
   margin-top: -24%;
   -webkit-box-orient: horizontal;
   -webkit-box-direction: reverse;
   -ms-flex-direction: row-reverse;
   flex-direction: row-reverse;
   -webkit-box-align: end;
   -ms-flex-align: end;
   align-items: flex-end;
   background: url(../img/benefit_bg2.webp) center center / 100% 100% no-repeat;
}

.benefit__half.reflect .benefit__content {
   padding: 42px 42px 42px 55px;
}

.section__about {
   margin-top: 140px;
   position: relative;
}

.about__content {
   padding-bottom: 72px;
   width: 48%;
   background: url(../img/about_bg.webp) center bottom/contain no-repeat;
}

.about__content h2 {
   margin-bottom: 20px;
}

.about__content p {
   margin-bottom: 24px;
   color: #141414;
   font-size: 24px;
   font-weight: 400;
   line-height: 140%;
}

.about__content a.btn {
   width: 308px;
}

.about__img {
   position: absolute;
   top: 0;
   right: 0;
   width: 50%;
   display: inline-block;
   border-radius: 18px 0px 0px 0px;
   height: 100%;
   overflow: hidden;
}

.about__img img {
   width: 100%;
   height: 100%;
   display: inline-block;
   -o-object-fit: cover;
      object-fit: cover;
   -o-object-position: center center;
      object-position: center center;
}

.error {
   max-width: 791px;
   text-align: center;
   margin: 41px auto 145px;
}

.error h1 {
   color: #2F9D46;
   font-size: 172px;
   font-weight: 600;
   line-height: 130%;
}

.error h2 {
   margin-bottom: 19px;
   font-size: 54px;
}

.error p {
   margin-bottom: 19px;
}

.error a.btn {
   margin: 0 auto;
}

.thanks {
   max-width: 625px;
   text-align: center;
   margin: 131px auto 145px;
}

.thanks h1 {
   margin-bottom: 14px;
   font-weight: 600;
   color: #2F9D46;
   line-height: 130%;
   text-transform: none;
   font-size: 54px;
}

.thanks p {
   margin-bottom: 40px;
   font-size: 20px;
}

.thanks a.btn {
   margin: 0 auto;
}