body {font-family: "Open Sans", serif;color: var(--main-text); font-size: 16px; font-weight: 400; line-height: 22px;}
.font-inter {
    font-family: "Inter", serif;
    font-weight: 400;
    font-style: normal;
}
.font-open-sans {
    font-family: "Open Sans", serif;
    font-weight: 400;
    font-style: normal;
}
.font-source-code-pro {
    font-family: "Source Code Pro", serif;
    font-weight: 600;
    font-style: normal;
}

a {color: var(--green);text-decoration: none;}

a:hover {  text-decoration: none;  }
a:link {  text-decoration: none;  }
a.btn-link:link {  text-decoration: underline;  }
a:visited {  text-decoration: none;  }
a:active {  text-decoration: none;  }
::selection {
    color: var(--white);
    background: var(--red);
}

h1 {font-weight: 600; font-size: 50px; line-height: 67px;}
h2 {font-weight: 600; font-size: 40px; line-height: 55px;}
h3 {font-weight: 600; font-size: 30px; line-height: 41px;}
h4 {font-weight: 600; font-size: 22px; line-height: 30px;}

.m-20 {margin: 20px;}

.mt-5 {margin-top: 5px !important;}
.mt-15 {margin-top: 15px;}
.mt-20 {margin-top: 20px;}
.mt-30 {margin-top: 30px;}
.mt-40 {margin-top: 40px;}
.mt-100 {margin-top: 100px;}
.mt--130 {margin-top: -130px;}

.mb-10 {margin-bottom: 10px;}
.mb-15 {margin-bottom: 15px;}
.mb-20 {margin-bottom: 20px;}

.p-20 {padding: 20px;}
.p-50 {padding: 50px;}

.pt-20 {padding-top: 20px;}
.pt-40 {padding-top: 40px;}
.pt-100 {padding-top: 100px;}

.pb-100 {padding-bottom: 100px;}
.pb-200 {padding-bottom: 200px;}

.pl-40 {padding-left: 40px;}
.pl-50 {padding-left: 50px;}

.bc-white {background-color: var(--white)}
.bc-green {background-color: var(--green)}
.bc-light-green {background-color: var(--light-green)}
.bc-light-gray {background-color: var(--light-gray)}

.tc-black {color: var(--black)}
.tc-white {color: var(--white)}
.tc-green {color: var(--green)}
.tc-red {color: var(--red)}

.fs-14 {font-size: 14px; line-height: 19px;}
.fs-35 {font-size: 35px; line-height: 47px;}

.ta-l {text-align: left;}
.ta-c {text-align: center;}
.ta-r {text-align: right;}

.fw-600 {font-weight: 600}
.fw-bold {font-weight: bold}

.fill-green {fill: var(--green)}
.fill-red {fill: var(--red)}

.h-200 {height: 200px;}

.w-215 {width: 215px}

.border-radius-15 {border-radius: 15px;}

header {position: relative; z-index: 100}
header .main-header {position: absolute;width: 100%;margin-top: 14px;background: var(--white);box-shadow: 0px 10px 30px var(--main-shadow);border-radius: 15px;}
header .main-header .menu-icon {background-color: #f2f2f2; border-radius: 8px;width: 40px;height: 40px;margin: 20px; cursor: pointer;position: relative;}
header .main-header .menu-icon .m-line {height: 2px; border-radius: 4px; transition: top 0.3s 0.3s, width 0.3s 0.3s, transform 0.3s; position: absolute; background-color: var(--red); left: 11px;}
header .main-header .menu-icon .line-1 {width: 17px; top:14px}
header .main-header .menu-icon .line-2 {width: 13px; top:24px}

header .main-header.active .menu-icon .m-line {transition: top 0.3s, width 0.3s, transform 0.3s 0.3s; }
header .main-header.active .menu-icon .line-1 {width: 17px; top:19px; transform: rotate(-45deg)}
header .main-header.active .menu-icon .line-2 {width: 17px; top:19px; transform: rotate(45deg)}

header .main-header .menu-content {max-height: 0; overflow: hidden;transition: max-height 0.4s; scrollbar-color: rgba(255,255,255,0.5) transparent;scrollbar-width: thin;}
header .main-header.active .menu-content {max-height: 900px;}
header .main-header .menu-content .main-nav {padding-top: 40px;padding-bottom: 45px;}
header .main-header .menu-content .main-nav > ul {margin: 0; padding: 0; list-style: none;}
header .main-header .menu-content .main-nav > ul > li {}
header .main-header .menu-content .main-nav > ul > li > a {display: block; color: var(--main-text);padding: 13px;text-align: center;font-size: 30px; line-height: 40px; font-weight: 600}
header .main-header .menu-content .main-nav > ul > li > a.active {color: var(--red);}
header .main-header .menu-content .main-nav > ul > li.small > a {font-size: 16px; line-height: 21px;}


header .main-header .logo {margin: 14px; height: 52px;}


footer {}
footer .main-footer {background-color: var(--white); border-radius: 15px; padding: 45px 50px 35px; margin-bottom: 58px;margin-top: -100px;float: left; width: 100%;}
footer .copyright {color: var(--black) !important; padding-bottom: 168px; font-family: "Source Sans 3", serif;font-weight: 600;font-size: 14px; line-height: 20px;font-style: normal;}
footer .copyright a {color: var(--black) !important; }

footer .footer-logo {width: 186px;}

footer .footer-nav {}
footer .footer-nav > ul {padding: 0; margin: 0; list-style: none; column-count: 2}
footer .footer-nav > ul > li {}
footer .footer-nav > ul > li > a {padding: 8px; font-size: 16px; font-weight: 600;line-height: 21px; color: var(--main-text); display: block; transition: color 0.2s;}
footer .footer-nav > ul > li > a:hover { color: var(--green);}

footer .footer-buttons {background-color: var(--green-opacity);}

footer .social-menu ul {padding: 0; margin: 0; list-style: none; }
footer .social-menu ul > li {display: inline-block; margin-top:10px; margin-right: 10px;}
footer .social-menu ul > li:last-child {margin-right: 0px;}
footer .social-menu ul > li > a {font-weight: bold;font-size:20px; color: var(--main-text); width: 40px; height: 40px; text-align: center; background-color: var(--green-opacity);display: block;padding: 10px;border-radius: 8px; transition: color 0.2s, background-color 0.2s;}
footer .social-menu ul > li > a:hover {color: var(--white);  background-color: var(--green);}

.image-container {position: relative; overflow: hidden;}
.image-container > img:first-child {position: absolute;object-fit: contain;width:100%;height:100%;top: 50%; left: 50%; transform: translate(-50%, -50%)}

.image-cover {position: relative; overflow: hidden;}
.image-cover > img:first-child {position: absolute;object-fit: cover;width:100%;height:100%;top: 50%; left: 50%; transform: translate(-50%, -50%)}

.hero-box {height: 100vh;}
.hero-box.no-image {height: 440px;}

.contact-buttons {display: block;padding: 10px;border-radius: 8px;}
.contact-buttons .text {font-weight: bold;color: var(--main-text); }
.contact-buttons .img { padding-right: 0 !important;}


.main-image-opacity {background-color: rgba(0,0,0,0.1);position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.main-title {font-size: 50px; padding-top: 70px; line-height: 68px; color: #fff;}

.main-btn {padding: 10px 35px; text-align:center; background-color: var(--green); color: var(--white); border-radius: 20px;line-height: 20px; cursor: pointer;display: inline-block;}

.main-outline-btn {padding: 10px 35px; text-align:center; border: 2px solid var(--black); color: var(--black); background-color: var(--white); border-radius: 20px;line-height: 20px; cursor: pointer;display: inline-block;transition: color 0.3s, background-color 0.3s, border 0.3s;}
.main-outline-btn:hover { border: 2px solid var(--green); background-color: var(--green); color: var(--white); }

.black-link-hover {color: var(--black); transition: color 0.3s;}
.black-link-hover:hover {color: var(--green); text-decoration: underline; }

.main-slider {height: 100%; overflow: hidden;}
.main-slider .main-slide {height: 100%; position: relative;display: block;}
.main-slider .main-slide .slider-text {font-weight: 600; padding-top:100px;color: var(--white); width:100%; font-size: 60px; line-height: 82px; text-align: center;position: absolute;top: 50%; left: 50%; transform: translate(-50%, -50%)}
.main-slider .slick-dots {width: 100%;position: absolute;bottom: 40px; text-align: center; }

.slick-list {height: 100%;}
.slick-list .slick-track {height: 100%;}

.slider-dots .slick-dots {padding: 0; margin: 0;}
.slider-dots .slick-dots > li { display: inline-block; padding:0 7px;font-size: 0; color: transparent;}
.slider-dots .slick-dots > li:only-child {display: none;}
.slider-dots .slick-dots > li > button { width: 15px; height: 15px; border-radius: 100px; background-color: var(--white); border: 0; transition: width 0.2s;}
.slider-dots.green .slick-dots > li > button { width: 15px; height: 15px; border-radius: 100px; background-color: var(--green); border: 0; transition: width 0.2s;}
.slider-dots .slick-dots > li.slick-active > button { width: 45px;  border-radius: 100px; background-color: var(--red); }

.image-with-text .text-box {min-height: 550px; padding: 50px;position: relative; z-index: 1;border-radius: 15px;align-items: center; justify-content: space-between;display: flex; }
.image-with-text .image-box {width: 710px; height: 600px;border-radius: 15px;box-shadow: 0px 10px 20px #00000029;}
.image-with-text .image-box img {}

.image-with-text.text-left {}
.image-with-text.text-left .image-box {margin-left: -50px;}


.text-with-image {position: relative;width: 100%;}
.text-with-image .background-box {position:absolute; height:100%; width:calc(100% - 50px); right:0; background-color: #fff;border-radius: 25px; display: inline-block;}
.text-with-image .image-box {border-radius: 25px;width: 600px;height: 430px;margin-top: 30px; margin-bottom: 30px;display: inline-block;}
.text-with-image .image-box img {}
.text-with-image .text-box {padding-right: 50px;margin-top: 30px; margin-bottom: 30px;}
.text-with-image.right-image .background-box {right: unset; left: 0;}
.text-with-image.right-image .image-box {}
.text-with-image.right-image .text-box {padding-right: 0;padding-left: 50px;}

.text-with-image.contact-form .image-box {height: 550px;}
.text-with-image.contact-form .title {font-size: 20px; font-weight: bold; }
.text-with-image.contact-form .text {font-size: 35px; line-height:47px; font-weight: 300; }
.text-with-image.contact-form .text-box input.wpcf7-text { height: 50px; padding-left:30px; width: 100%; background-color: var(--white); border-radius: 100px; border: 2px solid var(--black) }
.text-with-image.contact-form .text-box textarea.wpcf7-textarea {  padding:30px; width: 100%; background-color: var(--white); border-radius: 20px; border: 2px solid var(--black) }
.text-with-image.contact-form .text-box .wpcf7-spinner { position: absolute;right: -3px;top: 10px;}
.text-with-image.contact-form .text-box .wpcf7 form.invalid .wpcf7-response-output { border-radius: 20px;}
.recaptcha-container {border: 2px solid var(--black); border-radius: 20px; }

.news-box {background-color: #fff; transition: box-shadow 0.3s; border-radius: 15px; display: block; color: var(--main-text); margin-top: 20px;cursor: pointer;}
.news-box:hover {box-shadow: 0px 10px 20px var(--main-shadow);}
.news-box .image {width: 213px; height: 150px;border-radius: 15px;}
.news-box .arrow {width: 50px;height: 50px;background-color: #F3F7F5;border-radius: 100px;text-align: center; line-height: 50px;font-size: 28px;margin: 25px; transition: margin 0.3s;}
.news-box:hover .arrow {margin: 25px 15px 25px 35px ;}
.news-box .date  {font-size: 14px; line-height: 32px;}
.news-box .title {font-size: 20px; line-height: 27px;margin-top: 7px;}

.partners-box {max-width: 280px; }
.partners-box img {max-height: 160px; }

.team-box {background-color: var(--white); padding: 20px 25px; border-radius: 15px; transition: box-shadow 0.3s;cursor: pointer;}
.team-box:hover {box-shadow: 0px 10px 20px var(--main-shadow)}
.team-box .team-image { height: 250px; width: 250px; border-radius: 50%; display: inline-block;}
.team-box .team-name { font-size: 22px; line-height: 30px; font-weight: 600;}
.team-box:hover .main-outline-btn { border: 2px solid var(--green); background-color: var(--green); color: var(--white); }

.team-slider {}
.team-slider .team-box {width: 300px;}
.team-slider .slick-dots {margin-left: 1.5rem; }


#teamPopup {display: none;}
#teamPopup.active {display: block;}
.team-popup-container {position: fixed; left: 0; top: 0; width: 100%; height: 100%;z-index: 10000; }
.team-popup-container .background {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: var(--main-text); opacity: 0.9;}
.team-popup-container .team-popup {position: absolute; width: 100%; max-width: 660px; height: 95vh;align-items: center !important;display: flex; padding: 1rem;top: 50%; left: 50%; transform: translate(-50%, -50%);}
.team-popup-container .team-popup .team-popup-content {width: 100%; max-height:100%; background-color: var(--white);border-radius: 15px;padding: 40px;overflow-y: auto; overflow-x: hidden;scrollbar-color: rgba(0,0,0,0.5) transparent;scrollbar-width: thin;}
.team-popup-container .team-popup .team-popup-content .team-popup-image {width: 580px;height: 300px;max-width: 100%;border-radius: 25px;}


.simple-text {}
.simple-text h2 {font-weight: 600; font-size: 30px; line-height: 40px;}
.simple-text h3 {font-weight: 600; font-size: 22px; line-height: 30px;}
.simple-text h4 {font-weight: 600; font-size: 20px; line-height: 26px;}
.simple-text h4 {font-weight: 600; font-size: 18px; line-height: 24px;}


.post-gallery {}
.post-gallery .post-slide {width: 360px; height: 380px; cursor:pointer; margin:10px; margin-bottom: 30px; box-shadow: 0px 10px 20px var(--main-shadow); border-radius: 15px;}
.post-gallery .slick-list {overflow: visible}


.gallery-popup-container {opacity:0; left:-200vw; width: 100%; height: 100%;overflow:hidden; position: fixed; top: 0; z-index: 10000; transition: opacity 0.3s;}
.gallery-popup-container.active {opacity:1;left: 0;}
.gallery-popup-container .background {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: var(--main-text); opacity: 0.9;}
.gallery-popup-container .gallery-popup {position: absolute; width: 100%;  height: 100%; max-width: 80vw; max-height: 80vh;align-items: center !important;display: flex; padding: 1rem;top: 50%; left: 50%; transform: translate(-50%, -50%);}


.post-gallery-popup { width: 100%; height: 100%;}
.post-gallery-popup .post-slide { width: 100%; height: 100%;}
.post-gallery-popup .post-slide img { max-height: calc(80vh - 60px); max-width: 100%; }

.post-gallery-popup .slick-dots {text-align: center;}

.post-gallery-popup .close-helper {
    position: absolute;
    width: 100%; height: 100%; background-color: black; top: 0; bottom: 0; opacity: 0;pointer-events: auto;
}


@media (max-width: 1399.98px) {
    .ta-xxl-c {text-align: center}
    .pl-xxl-0 {padding-left: 0;}

    .w-xxl-auto {width: auto}

    .image-with-text .image-box {width: 620px}
    .text-with-image .image-box {width: 535px;}

}
@media (max-width: 1199.98px) {
    .mt-xl-20 {margin-top: 20px;}
    .mb-xl-0 {margin-bottom: 0;}

    .image-with-text .image-box {width: 500px;  height: 450px; z-index: 2}
    .image-with-text.text-left .image-box {margin-left: -32px;}

    .text-with-image .image-box {width: 434px; height: 311px;}
    .text-with-image.contact-form .image-box {height: 311px;}

    footer .footer-nav > ul {column-count: 3}
    .hero-box {height: 750px;}

}
@media (max-width: 991.98px) {
    .mt-lg-0 {margin-top: 0px;}
    .mt-lg-10 {margin-top: 10px;}
    .mt-lg-40 {margin-top: 40px;}
    .mt-lg-110 {margin-top: 110px;}

    .pl-lg-0 {padding-left: 0;}

    .ta-lg-c {text-align: center}

    .hero-box {height: 600px;}

    .image-with-text .image-box {width: 590px; height: 422px; margin-bottom: -367px;display: inline-block}
    .image-with-text .text-box {min-height: auto; padding: 422px 30px 30px;}
    .image-with-text.text-left .image-box {margin-left: 0}

    .text-with-image .background-box {width: 100%;}
    .text-with-image .image-box {margin-top: -60px; margin-bottom: 0; width: 590px; height: 422px;box-shadow: 0px 10px 20px var(--main-shadow)}
    .text-with-image .text-box {padding: 30px !important; margin: 0;}
    .text-with-image.contact-form .image-box {height: 422px;}
    .text-with-image.contact-form .title {font-size: 24px; line-height:29px; margin-top: 50px; }
    .text-with-image.contact-form .text {font-size: 20px; line-height:24px; margin-bottom: 50px;  }
    .text-with-image.contact-form .g-recaptcha > div { margin: 0 auto 40px;}
    .text-with-image.contact-form .main-outline-btn { margin: 0 auto 40px; width: 100%;}


}
@media (max-width: 767.98px) {

    .mt-md-25 {margin-top: 25px;}
    .mt-md-40 {margin-top: 40px;}

    footer .footer-nav > ul {column-count: 2}
    .hero-box {height: 550px;}
    .hero-box.no-image {height: 400px;}
    .ta-lg-c {text-align: center;}

    .main-title {font-size: 30px; padding-top: 55px;}

    .main-slider .main-slide .slider-text {font-size: 30px; line-height: 41px; }


    .image-with-text .image-box {width: 440px; height: 315px; margin-bottom: -260px;display: inline-block}
    .image-with-text .text-box {padding-top: 300px;}

    .text-with-image .image-box {width: 440px;height: 315px;}
    .text-with-image.contact-form .image-box {height: 315px;}


    .news-box .image {width: 516px; height: 363px;}



    h1 {font-weight: 600; font-size: 30px; line-height: 55px;}
    h2 {font-weight: 600; font-size: 25px; line-height: 41px;}
    h3 {font-weight: 600; font-size: 22px; line-height: 36px;}
    h4 {font-weight: 600; font-size: 18px; line-height: 30px;}


}
@media (max-width: 575.98px) {
    .ta-sm-c {text-align: center;}

    .mb-sm-30 {margin-bottom: 30px;}

    .pt-sm-50 {padding-top: 50px;}

    .main-outline-btn {width: 100%;padding: 16px;border-radius: 100px;}

    header .main-header {margin-left: 1.5rem; width: calc(100% - 3rem);}
    header .main-header .logo {height: 40px;}
    header .main-header .logo-container {width: 63px; display: block; overflow:hidden;margin: 0 auto}
    header .main-header .main-btn {padding: 11px 13px;border-radius: 8px;font-size: 13px;line-height: 18px;}

    footer .copyright {padding-bottom: 54px;}
    footer .footer-nav > ul {column-count: 1}


    .hero-box {height: 520px;}
    .hero-box.no-image {height: 330px;}

    .image-with-text .image-box {width: calc(100vw - 80px);height: calc(71vw - 57px); margin-bottom: calc(102px - 71vw);display: inline-block}
    .image-with-text .text-box {padding-top: calc(71vw - 62px);}

    .text-with-image .text-box {padding: 15px !important;}
    .text-with-image .image-box {width: calc(100vw - 80px);height: calc(71vw - 57px);}
    .text-with-image.contact-form .image-box {height: auto;}


    .news-box .image {width: 100%; height: calc(70vw - 21px);}


}
