html, body {min-height:100%;margin: 0;padding: 0;}
body { font-family: "Archivo", sans-serif;font-optical-sizing: auto;font-size:17px;font-weight: 400;line-height:1.6em;font-variation-settings:"wdth" 125; color: #2b2b2b}
*, ::after, ::before {box-sizing: border-box;}
::-webkit-scrollbar {width: 6px; height:2px; border-radius:4px;}
::-webkit-scrollbar-track {background-color: #eee;box-shadow: 0 0 1px 1px #fff inset;}
::-webkit-scrollbar-thumb {background-color: #479b60;}
::-webkit-scrollbar-thumb:hover {background-color: #001837;}
::-webkit-input-placeholder {color: #96a7bd!important;}
:focus-visible {outline: none;}
a {text-decoration:none; color:#001837; transition:linear .3s}
img {display: flex;max-width: 100%; height: auto;}
h1 {font-size: 2.7em;font-weight: 900;margin: 2em 0;line-height: 1.6em;color: #001837;}
h2 {font-size: 2em;font-weight: 800;margin:1.5em 0;line-height: 1.5em;}
h3 {font-size: 1.5em;font-weight: 700;margin:1.3em 0;line-height: 1.1em;}
h4 {font-size: 1.4em;font-weight: 700;margin:1.2em 0}
h5, h6 {font-size: 1.3em;font-weight: 600;margin:1.1em 0}
h2,h3,h4,h5,h6 {color:#001837}
header {background: #f0f2f4;padding:24px 24px 0 24px;}
.header__content{position:relative;width: auto;padding: 20px 30px;background: #fff;border-radius: 30px;z-index: 3;}
.header__content_menu {position: relative;}
.header__content_contact {position: absolute;top: 50%; transform: translateY(-50%);right: 30px;display: flex;align-items: center;z-index: 11111;}
.header__cat-img {max-width: 300px;padding: 30px; margin: 40px auto 0;
background: #fff;border-radius: 50%;box-shadow: 40px 0px 0px 0px #479b60;-webkit-box-shadow: 40px 0px 0px 0px #479b60;-moz-box-shadow: 40px 0px 0px 0px #479b60}
.hidden {
display: none !important; transition: none !important;
}
.page-template-page-service header {min-height:100vh;position: relative;z-index: 2;}
.page-template-page-service header:after {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, .6);z-index: 1;}
.header__inner {display: flex;justify-content: center;align-items: center;height: 70vh;position: relative;z-index: 2;text-align: center;}
.title__section h1 {color: #fff;position: relative;z-index: 2;}
.scroll-indicator {position: absolute;bottom: 7%;left: 50%;transform: translateX(-50%);z-index: 3;text-decoration: none;display: flex;align-items: center;justify-content: center;cursor: pointer;}
.mouse-icon { width: 30px;height: 50px;border: 2px solid #fff;border-radius: 25px;position: relative;}
.wheel {width: 4px;height: 10px;background-color: #fff;border-radius: 2px;position: absolute;top: 10px;left: 50%;transform: translateX(-50%);animation: wheelMove 1.5s infinite ease-in-out;}
@keyframes wheelMove {
0% { top: 10px; opacity: 1; }
50% { top: 20px; opacity: 0.5; }
100% { top: 10px; opacity: 1; }
}
#scroll-target {padding-top:90px;}
.phone {font-weight:700; display: flex; align-items: center;margin: 0 54px 0 0; cursor:pointer;-webkit-transition: all .4s ease-in-out;transition: all .4s ease-in-out;}
.phone-icon {margin-right: 12px;background: #479b60;display: flex;align-items: center;padding: 16px;border-radius: 50%;-webkit-transition: all .4s ease-in-out;transition: all .4s ease-in-out;}
.phone:hover  {color:#479b60}
.phone:hover .phone-icon {background-color: #001837;transform: scale(1.05);}
.phone a {    display: flex;
align-items: center;}
.btn {padding: 18px 35px;border-radius: 30px;-webkit-transition: all .4s ease-in-out;transition: all .4s ease-in-out; cursor: pointer;}
.btn-color {color:#fff;background-color: #479b60;}
.btn-color:hover {background:#001837;transform: scale(1.05);}
.btn-arrow {display: flex; align-items: center}
.btn-color-inverse {color:#fff;background:#479b60;}
.btn-color-inverse:hover {background-color: #001837;transform: scale(1.05);}
.quote {display: flex;align-items: center;}
.btn-arrow svg {margin-left: 10px;transform: rotate(320deg);} 
.btn-margin-center {margin: 120px auto 74px; text-align: center;}
.btn-padding-center {padding: 120px 0 90px;text-align: center;}
.btn-margin-center .quote,.btn-margin-small .quote, .btn-margin-center .btn, .btn-padding-center .quote {display: inline-flex;}
.btn-margin-small {margin: 50px auto 64px; text-align: center;} 
.block__title {position: relative; padding:50px 0 70px;letter-spacing: 1px;}
.block__title_small {display: inline-flex;align-items: center;gap: 16px;font-size: 15px;font-weight: 500;padding: 0px 22px 0 0;border: 1px solid #479b60;border-radius: 30px;}
.block__title_big {font-size: 46px; font-weight:900;letter-spacing: 1px;color: #479b60;max-width: 700px;line-height: 1.5em;margin-top: 16px;}
.slider__nav {display: flex;align-items: end;justify-content: space-between;}
.swiper__nav {display:flex; align-items:center;}
.swiper-slide {display: flex; justify-content: center;}
.swiper__btn_next,.swiper__btn_prev {display: flex;align-items: center; text-align: center;justify-content: center;background: #eee;width: 50px;height: 50px;line-height: 50px;border-radius: 0 50% 50% 0;}
.swiper__btn_prev {transform: rotate(180deg);}
.swiper__btn_next:hover,.swiper__btn_prev:hover {cursor:pointer;color:#479b60}
.swiper-button-disabled {color: #fff;pointer-events: none;cursor: default;    }
#work-slider {margin:90px 0 60px}
.inner_breadcrumbs {position: relative;text-align: center;padding: 20px 15px;background: #f0f2f4;border-radius: 0 0 20px 20px;margin-bottom: 90px;}
.breadcrumbs {color: #479b60;}
.breadcrumbs a {border-bottom: 1px solid transparent;}
.breadcrumbs a:hover {color: #479b60; border-bottom:1px solid #479b60}
.posts__category {display: grid;grid-template-columns: 1fr 1fr 1fr; gap:30px;}
.last__posts {margin-bottom:80px;}
.posts__category_item {position: relative;}
.last__posts_img {position: relative;display:flex;border-radius: 30px;}
.over-hid {overflow:hidden; border-radius: 30px;}
.posts_list a {color: #001837}
.last__posts_img img {border-radius: 30px;transition: all .5s ease-in-out;}
.last__posts_date {position: absolute;z-index: 2;bottom: 0;right: 50px;font-size: 15px;padding: 10px 15px;background: #fff;border-radius: 20px 20px 0 0;}
.last__posts_title {font-size: 20px;font-weight: 800;padding:26px 10px;}
.posts_list a:hover .last__posts_title {color: #479b60}
.posts_list a:hover img {-webkit-transform: scale(1.2) rotate(.01deg);transform: scale(1.2) rotate(.01deg);}
.last__posts_category a {position: absolute;top: 20px;left: 20px;padding: 5px 9px;background: #001837;border-radius: 30px; color:#fff;    font-size: 10px;font-weight: 300;
letter-spacing: .5px;text-transform: uppercase;}
.last__posts_category a:hover {color:#fff; background: #8cc63fd4;}
.last__posts_excerpt {font-size: 15px;}
.last__posts_icon {position: absolute;right: 50px;bottom: -10px;background: #fff;display: table;text-align: center;z-index: 1;padding: 8px 8px 0 8px;border-radius: 50px 50px 0 0;}
.icon-arrow {width: 50px;height: 50px;display: flex;justify-content: center;align-items: center;overflow: hidden;border-radius: 100%;text-align: center;font-size: 24px;
background: #479b60; transition: linear .3s;}
.posts_list a:hover .icon-arrow {background: #001837; color:#fff;}
.img__slide_in {border-radius: 30px;clip-path: inset(0 100% 0 0);}
.sticky { position: sticky;top: 50px;}
.mrb-90 {margin-bottom: 90px;}
.select2-container {z-index:999999!important;}
.faq-item {margin-bottom: 4px;}
.faq-question {position: relative;
font-size: 17px;    font-weight: 500 !important;
letter-spacing: 1px;
padding: 12px 20px 12px 40px;
-webkit-transition: all .4s ease-in-out;
transition: all .4s ease-in-out;
border-radius: 30px;
display: flex;
align-items: center;
justify-content: space-between;color:#fff;background-color: #479b60}
.faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.3s ease, padding 0.3s ease;padding: 10px 30px;}
.faq-item:hover .faq-question,.faq-item.active .faq-question {color: #eee}
.faq-item:hover .faq-question {cursor: pointer;}
.faq-item.active .faq-answer {max-height: 500px;padding: 10px 30px;}
.faq-item .toggle-icon {    display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
padding: 10px;
width: 50px;
height: 50px;
border-radius: 50%;
background: #fff;
color: #479b60;transition: transform 0.3s;}
.faq-item.active .toggle-icon {transform: rotate(180deg);}
.steps__section {padding: 60px 20px 150px;text-align: center;}
.steps__section_title {padding-bottom: 90px;}
.steps__section_container {display: flex;justify-content: space-between;flex-wrap: wrap;max-width: 1200px;margin: 0 auto;gap: 30px;position: relative;}
.step-item {flex: 1 1 30%;background: #fff;border-radius: 1rem;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);padding:80px 20px;position: relative;min-width: 260px;}
.step-item .step-image {position: absolute;
top: -80px;
left: 50%;
transform: translateX(-50%);
width: 160px;
height: 160px;
object-fit: contain;
z-index: 2;
background: #fff;
border-radius: 50%;
box-shadow: 0 0 0 3px #479b60;
}
.step-number {
position: absolute;
bottom: -40px;
padding: 20px;
background: #479b60;
border-radius: 50%;
margin: 0 auto 20px;
font-size: 3em;
color: transparent;
font-weight: 900;
-webkit-text-stroke: 1px #fff;
}
.step-title {font-size: 1.3rem;margin-bottom: 15px;}
.step-text {}
@media (max-width: 952px) {.step-item {margin-bottom:90px}}
@media (max-width: 768px) {.steps-container { flex-direction: column;align-items: center;}
}
#reviews,#steps,#difference  {padding: 30px 40px;}
#reviews {margin-top: 90px;}
#reviews .block__title_big {color: #001837}
#reviews .block__title_small{background: #fff; border-color: transparent}
.reviews__section,.steps__section {background: #f0f2f4; border-radius: 30px;}
.callback-bt {background:#ffaa0e;border-radius:50%;cursor:pointer;text-align:center;padding: 10px;position: fixed;right: 30px;bottom: 110px;
z-index:999;transition:.3s;-webkit-animation:hoverWave linear 2s infinite;animation:hoverWave linear 2s infinite;}
.callback-bt:hover {z-index:1;background:#479b60;transition:.3s;}
@-webkit-keyframes hoverWave {
0% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 0 rgba(110, 184, 108, 0.2),0 0 0 0 rgba(110, 184, 108, 0.2)}
40% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 15px rgba(110, 184, 108, 0.2),0 0 0 0 rgba(110, 184, 108, 0.2)}
80% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 30px rgba(255, 170, 14,0),0 0 0 26.7px rgba(255, 170, 14, 0.067)}
100% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 30px rgba(255, 170, 14,0),0 0 0 40px rgba(255, 170, 14,0.0)}
}
@keyframes hoverWave {
0% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 0 rgba(110, 184, 108, 0.2),0 0 0 0 rgba(110, 184, 108, 0.2)}
40% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 15px rgba(110, 184, 108, 0.2),0 0 0 0 rgba(110, 184, 108, 0.2)}
80% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 30px rgba(255, 170, 14,0),0 0 0 26.7px rgba(255, 170, 14, 0.067)}
100% {box-shadow:0 8px 10px rgba(110, 184, 108, 0.3),0 0 0 30px rgba(255, 170, 14,0),0 0 0 40px rgba(255, 170, 14,0.0)}
}
.def_size {max-width: 260px; margin: 20px auto;}
.marquee-wrapper {font-weight: 900;font-style: normal;position:relative; z-index:5; overflow: hidden;padding: 30px 40px 0 40px; margin-bottom:10px;display: flex;align-items: center;color:#479b60;}
.marquee {width: 200%;position: relative;overflow: hidden;}
.marquee-track {display: flex;width: max-content;animation: scroll-left 30s linear infinite;}
.marquee-content {display: flex;align-items: center; flex-shrink: 0; white-space: nowrap;padding: 20px 0;}
.marquee-content span {font-size: 40px;margin: 0 20px;}
.bold {letter-spacing: 2px;}
.dot {color: #001837;}
@keyframes scroll-left {0% {transform: translateX(0%);}100% {transform: translateX(-50%);}}
#scrollUpBtn {display: none;position: fixed;bottom: 30px;right: 30px;z-index: 999;border: none;outline: none;background-color: #479b60;color: #fff;cursor: pointer;border-radius: 50%; padding: 10px; transition: background-color 0.3s;}
#scrollUpBtn:hover {background-color:#001837}
footer {padding: 30px 40px 0 40px;}
.footer__content {position:relative;width: auto;padding: 90px 120px 0;border-radius: 30px;background:#001837}
ul.footer__menu  {color:#fff; list-style:none; padding-left:0;}
ul.footer__menu li {display: flex; align-items: center;}
ul.footer__menu li svg {margin-right: 12px;}
ul.footer__menu a, ul.footer__menu span {position: relative;display: inline-block; color:#fff; padding: 5px 0; overflow: hidden;text-decoration: none;}
ul.footer__menu a:hover {color:#479b60;}
ul.footer__menu a::after {content: '';position: absolute;bottom: 0;left: 0;width: 0%;height: 1px; background-color: #479b60;transition: width 0.3s ease;}
ul.footer__menu a:hover::after {width: 100%;}
.social__footer a {margin-right: 15px;}
.footer__copyright {position: relative;background: #fff;border-radius: 30px 30px 0 0;padding: 15px;text-align: center;font-weight: 600;}
.footer__copyright a {color:#479b60;border-bottom: 1px solid transparent;}
.footer__copyright a:hover {border-bottom: 1px solid #479b60;}
.footer__copyright div:first-child {margin-bottom: 10px;}
.footer__copyright:before,.footer__copyright:after {content: "";position: absolute;background-color: transparent;bottom: 0;height: 40px;width: 20px;box-shadow: 0 20px 0 0 #fff;}
.footer__copyright:before {left: -20px;border-bottom-right-radius: 20px;}
.footer__copyright:after {right: -20px;border-bottom-left-radius: 20px;}
@media (max-width: 1330px) {
.phone span {display: none;}
.header__content_contact {right: 100px}
}
@media (max-width: 1024px) {
.phone {margin-right: 20px;}
.phone-icon {padding: 17px;}
.slider__nav {display: block;}
.swiper__nav {margin-top: 18px;}
.block__title_big {font-size: 30px;line-height: 1.15em;}
.faq {padding-top: 40px;}
.mrb-90 {margin-bottom: 60px;}
.btn-padding-center {
padding: 40px 0;}
.posts__category {grid-template-columns: 1fr 1fr;}
#reviews, #steps,#difference,.marquee-wrapper,footer {padding: 10px;}
.footer__content {padding: 70px 15px 0;}
.footer__copyright:before, .footer__copyright:after {content: none;}
}
@media (max-width: 767px) {
.header__content {padding: 5px 10px;}
.header__content_contact {right: 80px}
.phone-icon {padding: 13px;}
.header__content_contact .quote {display: none;}
h1 {font-size: 1.7em;margin: 1em 0;line-height: 1.4em;}
h2 {font-size: 1.5em;margin: 1em 0;line-height: 1.4em;}
h3 {font-size: 1.05em;font-weight: 700;margin:0.8em 0;line-height: 1.1em;}
h4 {font-size: 1em;font-weight: 700;margin:0.9em 0}
h5, h6 {font-size: 1em;font-weight: 600;margin:0.7em 0}
header h1 {text-align:center;}
.swiper__nav {justify-content: center;}
.mrb-90 {margin-bottom: 50px;}
.reviews__section, .steps__section {padding-bottom: 20px;}
.btn-margin-center {margin: 70px auto 20px}
footer {font-size: 76%;}
.footer__copyright {background: none; color: #fff;padding: 15px 0 40px;}
}
@media (max-width: 460px) {
.posts__category {grid-template-columns: 1fr }
}