/*
 Theme Name:   Pithree Child Theme
 Theme URI:    http://themes.g5plus.net/pithree/
 Description:  Pithree Child Theme
 Author:       G5plus
 Author URI:   http://g5plus.net
 Template:     pithree
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags: 				two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-header, custom-menu, editor-style, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
 Text Domain: 		pithree
*/
/************************************************************************************
Put your custom CSS below this block :)
*************************************************************************************/



/******************************************** ШРИФТЫ ********************************************/

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Light.eot');
    src: local('Cera Pro Light'), local('CeraPro-Light'),
        url('fonts/CeraPro-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Light.woff2') format('woff2'),
        url('fonts/CeraPro-Light.woff') format('woff'),
        url('fonts/CeraPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-MediumItalic.eot');
    src: local('Cera Pro Medium Italic'), local('CeraPro-MediumItalic'),
        url('fonts/CeraPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-MediumItalic.woff2') format('woff2'),
        url('fonts/CeraPro-MediumItalic.woff') format('woff'),
        url('fonts/CeraPro-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-RegularItalic.eot');
    src: local('Cera Pro Regular Italic'), local('CeraPro-RegularItalic'),
        url('fonts/CeraPro-RegularItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-RegularItalic.woff2') format('woff2'),
        url('fonts/CeraPro-RegularItalic.woff') format('woff'),
        url('fonts/CeraPro-RegularItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-BlackItalic.eot');
    src: local('Cera Pro Black Italic'), local('CeraPro-BlackItalic'),
        url('fonts/CeraPro-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-BlackItalic.woff2') format('woff2'),
        url('fonts/CeraPro-BlackItalic.woff') format('woff'),
        url('fonts/CeraPro-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Medium.eot');
    src: local('Cera Pro Medium'), local('CeraPro-Medium'),
        url('fonts/CeraPro-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Medium.woff2') format('woff2'),
        url('fonts/CeraPro-Medium.woff') format('woff'),
        url('fonts/CeraPro-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-BoldItalic.eot');
    src: local('Cera Pro Bold Italic'), local('CeraPro-BoldItalic'),
        url('fonts/CeraPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-BoldItalic.woff2') format('woff2'),
        url('fonts/CeraPro-BoldItalic.woff') format('woff'),
        url('fonts/CeraPro-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-ThinItalic.eot');
    src: local('Cera Pro Thin Italic'), local('CeraPro-ThinItalic'),
        url('fonts/CeraPro-ThinItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-ThinItalic.woff2') format('woff2'),
        url('fonts/CeraPro-ThinItalic.woff') format('woff'),
        url('fonts/CeraPro-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-LightItalic.eot');
    src: local('Cera Pro Light Italic'), local('CeraPro-LightItalic'),
        url('fonts/CeraPro-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-LightItalic.woff2') format('woff2'),
        url('fonts/CeraPro-LightItalic.woff') format('woff'),
        url('fonts/CeraPro-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Black.eot');
    src: local('Cera Pro Black'), local('CeraPro-Black'),
        url('fonts/CeraPro-Black.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Black.woff2') format('woff2'),
        url('fonts/CeraPro-Black.woff') format('woff'),
        url('fonts/CeraPro-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Bold.eot');
    src: local('Cera Pro Bold'), local('CeraPro-Bold'),
        url('fonts/CeraPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Bold.woff2') format('woff2'),
        url('fonts/CeraPro-Bold.woff') format('woff'),
        url('fonts/CeraPro-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Regular.eot');
    src: local('Cera Pro Regular'), local('CeraPro-Regular'),
        url('fonts/CeraPro-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Regular.woff2') format('woff2'),
        url('fonts/CeraPro-Regular.woff') format('woff'),
        url('fonts/CeraPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Cera Pro';
    src: url('fonts/CeraPro-Thin.eot');
    src: local('Cera Pro Thin'), local('CeraPro-Thin'),
        url('fonts/CeraPro-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/CeraPro-Thin.woff2') format('woff2'),
        url('fonts/CeraPro-Thin.woff') format('woff'),
        url('fonts/CeraPro-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}
.quote a {
	color: #96c35e;
	text-decoration: underline;
}







@media screen and (min-width: 1200px) {
    .container {
        width: 1300px;
    }
}
a {
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
}
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Cera Pro' !important;
    line-height: 1.3 !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.2 !important;
    font-weight: 600 !important;
}












/*********************************** HEADER *******************************************/

.main-header .header-customize-nav .header-customize-item {
    line-height: 1.4;
}
.header-above-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #cccccc;
}
.header-above-inner:before, .header-above-inner:after {
	content: none;
}
.main-header .x-nav-menu > .x-menu-item > .x-menu-a-text {
    font-size: inherit;
    text-transform: none;
    font-weight: 600;
    color: #000;
}
.main-header .is-sticky .sticky-region {
    background: #fff;
}
.main-header .x-nav-menu > .x-menu-item {
    display: inline-block;
    line-height: 1.4;
    padding-top: 0px;
    padding-bottom: 0px;
}
.main-header .x-nav-menu > .x-menu-item + .x-menu-item {
    margin-left: 25px;
}
.header-tel {
    display: flex;
    flex-direction: column;
}
.header-tel a {
    font-weight: bold;
    font-size: 20px;
}
.header-soc br {
    display: none;
}
.header-soc a {
    display: inline-block;
    border-radius: 3px;
    overflow: hidden;
}
.header-soc a img {
    width: 28px;
}
.header-soc {
    display: flex;
    gap: 5px;
}
.header-city {
    padding-left: 25px;
    position: relative;
    font-weight: 600;
}
.header-city:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    width: 15px;
    height: 22px;
    background-image: url(/wp-content/uploads/2026/01/address.svg);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.header-customize-item {
    display: flex !important;
    align-items: center;
    gap: 45px;
}
nav.primary-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: calc(100% - 210px);
}
nav.primary-menu:before {
    content: "";
}
.main-header .logo-header img {
    width: 210px;
}
.header-above-inner {
    border-bottom: none !important;
}
.main-header .is-sticky .menu-categories, .main-header .is-sticky .menu-categories-select > i, .main-header .is-sticky .header-customize-nav .header-customize-item {
    line-height: 1.4;
}
.main-header .x-nav-menu > .x-menu-item > .x-menu-a-text b.x-caret {
    display: inline-flex;
    /* position: relative; */
    /* top: 0px; */
}
.main-header .x-sub-menu-standard {
    padding: 10px 0;
    background: #f5f7f8;
    border-radius: 15px;
    padding: 20px;
	border: none;
}
.main-header .x-sub-menu .x-menu-item + .x-menu-item > .x-menu-a-text {
    border: none;
}
.main-header .x-sub-menu .x-menu-item {
    padding: 0px;
    min-width: unset;
}
.main-header .x-sub-menu-standard a.x-menu-a-text {
    color: var(--g5-text-color);
    font-size: inherit;
    text-transform: none;
    font-weight: 600;
    line-height: 1.4;
    padding: 10px 0;
    position: relative;
}
.main-header .x-sub-menu-standard a.x-menu-a-text:hover > i.x-menu-icon, .main-header .x-sub-menu-standard a.x-menu-a-text:hover > span.x-menu-text {
    padding-left: 0px;
}
.header-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.header-btn a.callback {
    padding: 9px 35px 7px 15px;
}
.header-btn a.callback:after {
    right: 15px;
}
.callback:hover:after, .callback:focus:after {
	right: 10px;
}





/********************************** ФОРМЫ ************************************/
input[type="text"], input[type="email"], input[type="tel"], textarea, select, input[type="number"] {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 5px !important;
    width: 100%;
    padding: 0 15px;
    height: 40px;
    line-height: 1;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
input[type="text"], input[type="email"], input[type="tel"], textarea, select,  input[type="number"], 
input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder, textarea::placeholder, input[type="number"]::placeholder {
    color: #000000 !important;
}
input[type=text]:focus, input[type=search]:focus, input[type=email]:focus, input[type=url]:focus, input[type=password]:focus, input[type=tel]:focus, textarea:focus, select:focus,  input[type="number"]:hover,  input[type="number"]:focus {
    border-color: var(--g5-color-accent) !important;
}
form input[type="checkbox"] {
    display: none;
}
form input[type="checkbox"] + span {
    padding-left: 25px;
    display: inline-block;
    position: relative;
}
form input[type="checkbox"] + span:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0px;
    border: 1px solid #b2b2b2;
    width: 16px;
    height: 16px;
	border-radius: 3px;
    background: #fff;
    cursor: pointer;
}
form input[type="checkbox"]:checked + span::after {
    content: "\2713";
    font-family: Open Sans, sans-serif;
    position: absolute;
    top: -2px;
    left: 2px;
    color: var(--g5-color-accent);
    font-size: 18px;
}
.wpcf7 form .wpcf7-response-output {
    margin: 20px 0px 20px;
    padding: 15px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: var(--g5-color-accent);
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #000;
}
.wpcf7-not-valid-tip {
    color: #000;
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 0px;
}
textarea {
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
}
.home-form .wpcf7 .wpcf7-not-valid-tip, 
.home-form .wpcf7 form.invalid .wpcf7-response-output, .home-form .wpcf7 form.unaccepted .wpcf7-response-output, .home-form .wpcf7 form.payment-required .wpcf7-response-output {
    color: #fff;
}














/**************************************** FOOTER **********************************************/

.bar-wrapper.text-center .bar-left {
    text-align: left;
}
.bar-wrapper.text-center .bar-left a {
    color: #fff;
    display: inline-block;
    border-bottom: 1px solid;
}
.bar-wrapper.text-center .bar-left a:hover, .bar-wrapper.text-center .bar-left a:focus {
    border-color: transparent;
    color: var(--g5-color-accent);
}
footer.main-footer-wrapper {
    margin: 0 20px 20px;
    border-radius: 20px !important;
    overflow: hidden;
    position: relative;
    background: transparent !important;
}
.bottom-bar-wrapper {
    background: transparent !important;
}
.bar-wrapper.text-center .bar-left p {
    margin-bottom: 0px;
}
.footer-inner {
    background: var(--g5-footer-bg-color);
    padding-left: 40px;
    padding-right: 40px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.bottom-bar-inner {
    background: var(--g5-footer-bg-color);
    padding-left: 40px;
    padding-right: 40px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    position: relative;
}
.bottom-bar-inner:before, .slider-row:after, .home-about .vc_col-sm-6 + .vc_col-sm-6:before, .home-form .wpcf7:before, .about-top:after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 0px;
    background: #fff;
    width: 350px;
    height: 70px;
    border-top-left-radius: 10px;
    transform: skewX(-30deg);
}
.footer-logo img {
    width: 170px;
    margin-bottom: 15px;
}
.footer-soc .header-soc {
    justify-content: flex-end;
}
footer p {
    margin-bottom: 0px;
}
.footer-logo a.footer-mail {
    border-bottom: 1px solid;
    font-size: 20px;
    display: inline-block;
    margin-top: 5px;
}
.footer-logo a.footer-tel {
    font-weight: 600;
    font-size: 24px;
}
.main-footer .widget {
    margin-bottom: 0px;
}
.main-footer .widget_nav_menu .menu > li {
    padding-left: 0px;
    width: 100%;
    line-height: 1.4;
    font-weight: 600;
}
footer .widget_nav_menu ul {
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 17px;
}
.main-footer .widget_nav_menu .menu > li:before {
	content: none;
}
.main-footer .widget_nav_menu .menu > li a:hover {
    padding-left: 0px;
}
.footer-logo a.footer-mail:hover {
    border-color: transparent;
}
.footer-inner > .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer-inner > .row .col-md-3 {
    width: max-content !important;
}
.footer-inner > .row:before, .footer-inner > .row:after {
	content: none;
}
.widget_archive ul li, .widget_categories ul li, .widget_nav_menu ul li, .widget_pages ul li {
    font-size: 16px !important;
}













/************************************* PAGE TITLE ******************************************/

.page-title {
    text-align: left !important;
}
.page-title .page-title-inner h1 {
    font-size: 24x;
    text-transform: none;
    font-weight: 600;
    letter-spacing: 0px;
    margin-bottom: 5px;
}
.breadcrumbs li span {
    color: #ffffff !important;
}
.breadcrumbs li a, .breadcrumbs li span {
    color: var(--g5-color-accent);
    line-height: 1.4;
}
.breadcrumbs li a {
    border-bottom: 1px solid var(--g5-color-accent);
}
.breadcrumbs li a:hover, .breadcrumbs li span:hover {
    color: var(--g5-color-accent);
}
.page-title {
    padding: 0px !important;
}
.page-title .page-title-overlay {
    background: transparent !important;
}
.page-title .page-title-inner {
    background: var(--g5-color-secondary);
    padding: 40px;
    border-radius: 20px;
}
.breadcrumbs li a, .breadcrumbs li span {
    color: #fff;
    line-height: 1.4;
}
.breadcrumbs li a {
    border-bottom: none;
}
.breadcrumbs li:after {
    content: "";
    font-size: unset;
    font-weight: unset;
    letter-spacing: 0px;
    padding: 0 0px;
    color: unset;
    background: transparent;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 6px;
    height: 6px;
    margin: 2px 10px;
    transform: rotate(-45deg);
}













/************************************** FORM *****************************************/

span.wpcf7-spinner {
    display: none !important;
}
.form-btn {
    width: max-content;
    position: relative;
    background: var(--g5-color-accent) !important;
    color: #fff !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    font-size: 13px;
    border: none;
    box-shadow: 2px 2px 10px 0 #00000060;
    position: relative;
    border-radius: 5px;
    margin-top: 20px;
}
.form-btn input {
    border: none !important;
    padding: 0px;
    /*opacity: 1 !important;*/
    line-height: 1 !important;
    background: transparent !important;
    /*cursor: pointer !important;*/
    padding: 10px 50px 10px 25px;
    position: relative;
    z-index: 1;
    font-weight: 500;
}
.form-row-3 p {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.form-row-3 p br {
    display: none;
}
.form-row-3 p > .wpcf7-form-control-wrap {
    width: calc(33.333% - 6.7px);
}
.form-row-1 {
    margin-top: 10px;
}
.form-row-1 p {
    line-height: 1;
}
.form-acceptance .wpcf7-list-item {
    margin: 0px;
}
.form-acceptance {
    margin-top: 20px;
}
.home-form .wpcf7 span.wpcf7-list-item-label, .home-form .wpcf7 span.wpcf7-list-item-label a {
    color: #fff;
}
.wpcf7 span.wpcf7-list-item-label a {
    border-bottom: 1px solid;
}
.wpcf7 span.wpcf7-list-item-label a:hover, .wpcf7 span.wpcf7-list-item-label a:focus {
    border-color: transparent;
}
.ays_content_box {
    padding: 0px !important;
}
.ays_content_box > p {
    margin-bottom: 0px;
}
.ays_content_box input[type="text"], .ays_content_box input[type="email"], .ays_content_box input[type="tel"], .ays_content_box textarea, .ays_content_box select, .ays_content_box input[type="number"] {
    background: #f6f7f8;
	margin-top: 10px;
}
.ays_content_box form input[type="checkbox"] + span {
    text-align: left;
}
.ays_content_box br {
    display: none;
}
.ays-pb-modal {
    height: max-content !important;
    max-height: 90% !important;
}
.ays-pb-modal-close + .tooltip {
	display: none !important;
}










/****************************************** ГЛАВНАЯ *******************************************************/

.pt {
	padding-top: 70px;
}
.mt {
	margin-top: 70px;
}
.pb {
	padding-bottom: 70px;
}
.mb {
	margin-bottom: 70px;
}
.slider-row, .about-top {
    margin: 0px;
    background: url(/wp-content/uploads/2026/01/bg-1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20px;
    position: relative;
    padding: 100px 25px;
}
.slider-row h1, .about-top h1 {
    font-size: 70px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1.5px;
    margin-bottom: 50px;
}
.slider-row ul {
    list-style: none;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 120px;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}
.slider-row ul li {
    position: relative;
	padding-left: 50px;
}
.slider-row ul li:before {
    content: "";
    position: absolute;
    left: 0px;
    top: 11px;
    width: 30px;
    height: 30px;
    background-image: url(/wp-content/uploads/2026/01/list.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.slider-row > .vc_col-sm-12 {
    float: unset;
}
.home-about {
    border-radius: 20px;
    position: relative;
    padding: 15px 0px;
    background: var(--g5-footer-bg-color);
    margin-left: 0px;
    margin-right: 0px;
    position: relative;
}
.home-about .wpb_single_image {
    border-radius: 15px;
    overflow: hidden;
}
.home-about .vc_col-sm-6 + .vc_col-sm-6 > .vc_column-inner > .wpb_wrapper {
    padding: 80px 25px 80px 10px;
}
.home-about .vc_col-sm-6 + .vc_col-sm-6:before, .home-form .wpcf7:before {
    bottom: -35px;
}
.title {
    margin-bottom: 30px;
}
.home-about h2, .home-about p {
    color: #fff;
}
.home-about .vc_col-sm-6 + .vc_col-sm-6:after, .adv-items .adv-item:after, .serv-block:after, .home-form-left:after, .single-post-top h2.entry-post-title:after, .service-step-item:after, .home-adv .fullwidth .vc_column-inner > .wpb_wrapper .adv-item:after {
    content: "";
    position: absolute;
    bottom: 55px;
    right: 20px;
    width: 40px;
    height: 40px;
    background-image: url(/wp-content/uploads/2026/01/icon-1.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
}
.vc_do_btn:last-child {
    margin-bottom: 0px;
}
.vc_do_btn {
    margin-top: 30px;
}
.vc_do_btn a.vc_general, a.serv-btn, .callback {
    background: var(--g5-color-accent) !important;
    color: #fff !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    font-size: 13px;
    border: none;
    box-shadow: 2px 2px 10px 0 #00000060;
    padding: 11px 50px 9px 25px;
    position: relative;
    border-radius: 5px;
    display: inline-flex;
    cursor: pointer;
}
.vc_do_btn a.vc_general:after, .form-btn:after, a.serv-btn:after, .callback:after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 17px;
    height: 11px;
    background-image: url(/wp-content/uploads/2026/01/arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: brightness(1000%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
}
.vc_do_btn a.vc_general:hover, .vc_do_btn a.vc_general:focus {
    border: none;
}
.vc_do_btn a.vc_general:hover:after, .vc_do_btn a.vc_general:focus:after, .form-btn:hover:after, .form-btn:focus:after, a.serv-btn:hover:after, a.serv-btn:focus:after, .callback:hover:after, .callback:focus:after {
    right: 20px;
}
.btn-mt {
    margin-top: 30px;
}
.adv-items, .home-adv .fullwidth .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.adv-items .adv-item, .home-adv .fullwidth .vc_column-inner > .wpb_wrapper .adv-item {
    width: calc(25% - 15px);
    background: #f5f7f8;
    border-radius: 15px;
    padding: 20px 50px 40px 20px;
    position: relative;
}
.adv-items .adv-item:after, .service-step-item:after, .home-adv .fullwidth .vc_column-inner > .wpb_wrapper .adv-item:after {
    right: 20px;
    bottom: 20px;
}
.adv-img img {
    width: 70px;
}
.adv-img {
    margin-bottom: 15px;
}
.adv-desc {
    /*font-weight: 600;*/
}
.adv-desc br {
    display: none;
}
.serv-block {
    background: #f5f7f8;
    border-radius: 15px;
    padding: 40px 40px 80px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.serv-block .serv-list {
    width: calc(75% - 40px);
}
.serv-block:after {
    bottom: 20px;
}
.serv-block .serv-tabs {
    width: 25%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.serv-block .serv-tabs .serv-tab-item {
    font-weight: 600;
    color: var(--g5-color-secondary);
    border-radius: 15px;
    background: #fff;
    padding: 15px 20px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
}
.serv-block .serv-tabs .serv-tab-item:hover, .serv-block .serv-tabs .serv-tab-item.active {
    background: var(--g5-color-accent);
    color: #fff;
}
a.serv-list-item-el:first-child {
    border-top: 1px solid #d9e1ea;
}
a.serv-list-item-el {
    display: block;
    position: relative;
    padding: 13px 55px 13px 20px;
    border-bottom: 1px solid #d9e1ea;
    color: var(--g5-color-secondary);
}
a.serv-list-item-el:before {
    content: "";
    position: absolute;
    top: 20px;
    left: 0px;
    width: 7px;
    height: 7px;
    background: var(--g5-color-accent);
    border-radius: 100px;
}
a.serv-list-item-el:after {
    content: "";
    position: absolute;
    top: 12px;
    right: 0px;
    width: 22px;
    height: 22px;
    background: var(--g5-color-accent);
    border: 1px solid var(--g5-color-accent);
    border-radius: 4px;
    background-image: url(/wp-content/uploads/2026/01/arrow-white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
}
a.serv-list-item-el:hover:after, a.serv-list-item-el:focus:after {
    background: #fff;
    background-image: url(/wp-content/uploads/2026/01/arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
}
.home-form .vc_column-inner > .wpb_wrapper {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.home-form-left, .home-form .wpcf7 {
    width: calc(50% - 10px);
}
.home-form-left {
    position: relative;
    background: var(--g5-color-accent);
    border-radius: 15px;
    padding: 40px;
    display: flex;
    align-items: center;
}
.home-form-left h3, .home-form-left p, .home-form .wpcf7 h3 {
	color: #fff;
}
.home-form-left p {
    font-size: 20px;
}
.home-form-left:after, .single-post-top h2.entry-post-title:after {
    filter: brightness(1000%);
    bottom: 20px;
}
.home-form .wpcf7 {
    position: relative;
    background: var(--g5-color-secondary);
    border-radius: 15px;
    padding: 40px;
}















.serv-list-item {
    display: none;
}

.serv-list-item.active {
    display: block;
}

.serv-tab-item {
    cursor: pointer;
}

.serv-tab-item.active {
    font-weight: 600;
}














/**************************************** Новости **********************************************/

.single-post-top {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.single-post-top h2.entry-post-title, .single-post-top .entry-thumb-wrap {
    width: calc(50% - 10px);
    margin: 0px;
    border-radius: 15px;
    overflow: hidden;
}
.single-post-top h2.entry-post-title {
    position: relative;
    background: var(--g5-color-accent);
    padding: 40px;
    display: flex;
    align-items: center;
    color: #fff;
}
.single-post-top .entry-thumb-wrap .image-link-hover {
    display: none !important;
}
.single-post-top .entry-thumb-wrap a.jg-entry.entry-thumbnail-overlay {
    width: 100%;
    height: 100%;
    display: block;
}
.single-post-top .entry-thumb-wrap a.jg-entry.entry-thumbnail-overlay img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.single-post-top .entry-thumb-wrap .entry-thumbnail {
    width: 100%;
    height: 100%;
}
.single-post-content {
    margin-top: 35px;
}
.single-blog-wrap .entry-content p:last-child, .single-services-wrap .entry-content p:last-child {
    margin-bottom: 0px;
}
.single-blog-wrap .entry-content, .single-services-wrap .entry-content {
    font-size: 16px;
    color: var(--g5-text-color);
}
.single-post-bottom {
    margin-top: 35px;
}
.single-post-bottom a.vc_general {
    padding: 10px 25px 10px 50px;
}
.single-post-bottom a.vc_general:after {
    transform: translateY(-50%) scale(-1, -1);
    right: unset;
    left: 25px;
}
.single-post-bottom a.vc_general:hover:after, .single-post-bottom a.vc_general:focus:after {
    right: unset;
    left: 20px;
}
.blog-wrap, .home-news .no-slick {
    position: relative !important;
    height: auto !important;
    margin: 0px !important;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 40px;
}
.blog-wrap article, .home-news .no-slick article {
    position: unset !important;
    top: unset !important;
    left: unset !important;
    transform: none !important;
    transition: unset !important;
    padding: 0px !important;
    width: calc(33.333% - 13.3333px) !important;
    margin: 0px !important;
}
.blog-wrap:before, .blog-wrap:after, 
.home-news .no-slick:before, 
.home-news .no-slick:after {
	content: none !important;
}
.blog-wrap article .entry-thumb-wrap .entry-thumbnail,
.home-news .no-slick article .entry-thumb-wrap .entry-thumbnail {
    width: 100%;
}
.blog-wrap article .entry-thumb-wrap .entry-thumbnail > a, 
.home-news .no-slick article .entry-thumb-wrap .entry-thumbnail > a {
    pointer-events: none;
    width: 100%;
    display: block;
    height: 100%;
    border-radius: 15px;
    overflow: hidden;
}
.blog-wrap article .entry-thumb-wrap .entry-thumbnail a img, 
.home-news .no-slick article .entry-thumb-wrap .entry-thumbnail a img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center;
}
.blog-wrap article .entry-thumbnail .image-link-hover, 
.home-news .no-slick .entry-thumbnail .image-link-hover {
    opacity: 1 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background: transparent !important;
}
.blog-wrap article .entry-thumbnail .image-link-hover .light-gallery-hover,
.blog-wrap article .entry-thumbnail .image-link-hover i.fa, 
.home-news .no-slick .entry-thumbnail .image-link-hover .light-gallery-hover, 
.home-news .no-slick .entry-thumbnail .image-link-hover i.fa {
    display: none !important;
}
.blog-wrap article .entry-thumbnail .image-link-hover .light-gallery-link, 
.home-news .no-slick article .entry-thumbnail .image-link-hover .light-gallery-link {
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    border: none !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}
.blog-wrap article .entry-thumbnail .image-link-hover .light-gallery-link a, 
.home-news .no-slick article .entry-thumbnail .image-link-hover .light-gallery-link a {
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    border: none !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}
.blog-wrap article .entry-thumbnail .image-link-hover .light-gallery-link:hover, 
.blog-wrap article .entry-thumbnail .image-link-hover .light-gallery-link:focus, 
.home-news .no-slick article .entry-thumbnail .image-link-hover .light-gallery-link:hover, 
.home-news .no-slick article .entry-thumbnail .image-link-hover .light-gallery-link:focus {
    background: transparent !important;
}
.blog-wrap article .entry-content-wrap, 
.home-news .no-slick article .entry-content-wrap {
    border: none !important;
    padding: 0px;
    margin-top: 20px;
}
.blog-wrap article .entry-content-wrap .entry-excerpt, .blog-wrap article .entry-content-wrap a.bt, 
.home-news .no-slick article .entry-content-wrap .entry-excerpt, .home-news .no-slick article .entry-content-wrap a.bt,
.home-news .no-slick article .entry-content-wrap a.read-more-link {
    display: none;
}
.blog-wrap article .entry-content-wrap .entry-meta-wrap, 
.home-news .no-slick article .entry-content-wrap .entry-meta {
    border-top: 1px solid #cccccc;
    margin-top: 15px;
    padding-top: 15px;
}
.blog-wrap article .entry-content-wrap .entry-meta-wrap .entry-post-meta, 
.home-news .no-slick article .entry-content-wrap .entry-meta ul, 
.home-news .no-slick article .entry-content-wrap .entry-meta ul li {
    margin: 0px;
    color: #666666;
    font-style: normal;
    line-height: 1.4;
    text-transform: lowercase;
}
.blog-wrap article .entry-content-wrap .entry-meta-wrap .entry-post-meta .edit-link, 
.home-news .no-slick article .entry-content-wrap .entry-meta ul li:not(:first-child) {
    display: none;
}
.blog-wrap article .entry-content-wrap h3.entry-post-title, 
.home-news .no-slick article .entry-content-wrap h3.entry-post-title {
    margin: 0px !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    letter-spacing: 0px !important;
    text-transform: none !important;
} 
.home-news .no-slick article .entry-content-wrap .entry-meta ul li p {
    color: #666666;
}
.blog-wrap article .entry-content-wrap h3.entry-post-title a, .g5plus-posts h3.entry-post-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}












/***************************** Контакты *************************************/

.cont-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.cont-item.cont-tel, .cont-item.cont-address, .cont-item.cont-mail, .cont-item.cont-form {
    width: calc(33.333% - 13.333px);
    background: #f5f7f8;
    border-radius: 15px;
    padding: 25px;
}
.cont-item.cont-tel img, .cont-item.cont-address img, .cont-item.cont-mail img {
    width: 45px;
    margin: 0 0 15px 0;
}
.cont-item.cont-tel .cont-item-title, .cont-item.cont-address .cont-item-title, .cont-item.cont-mail .cont-item-title, .cont-item.cont-form h3 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 15px;
}
.cont-item.cont-tel .cont-item-desc {
    display: flex;
    flex-direction: column;
}
.cont-item.cont-mail a {
    border-bottom: 1px solid;
}
.cont-item.cont-mail a:hover, .cont-item.cont-mail a:focus {
    border-color: transparent;
}
.cont-item.cont-map {
    width: calc(66.666% - 6.666px);
    border-radius: 15px;
    overflow: hidden;
}
.cont-item.cont-map iframe {
    height: 100%;
}
.form-acceptance span.wpcf7-form-control-wrap:not(:first-child) {
    display: block;
    margin-top: 10px;
}
.cont-item.cont-form .form-row span.wpcf7-form-control-wrap:not(:first-child) {
    display: inline-block;
    margin-top: 10px;
}












/************************************ О компании *****************************************/

.about-top .vc_col-sm-12 {
    float: unset;
}
.about-top h1 {
    margin-bottom: 30px;
    font-size: 48px;
}
.about-top p {
    padding-right: 40%;
    color: #fff;
    font-weight: 600;
}
.about-desc {
    background-image: url(/wp-content/uploads/2026/01/big-map.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 700px;
    margin-top: 30px;
}
.about-desc .title {
    margin-bottom: 150px;
}
.quote {
    position: relative;
    padding: 0 70px;
    font-weight: 600;
    font-size: 20px;
    width: max-content;
    max-width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}
.quote:before {
    content: "";
    position: absolute;
    top: -30px;
    left: 0px;
    background-image: url(/wp-content/uploads/2026/01/quote.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    transform: scale(-1, -1);
}
.quote:after {
    content: "";
    position: absolute;
    bottom: -30px;
    right: 0px;
    background-image: url(/wp-content/uploads/2026/01/quote.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
}
.container.slick-slider {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 0px;
    padding-right: 0px;
}
.reviews-slider .slick-track {
    display: flex;
}
.review-item {
    background: #f5f7f8;
    border-radius: 15px;
    padding: 25px 30px;
    height: 100%;
}
.review-item .stars {
    width: 100%;
    height: 20px;
    margin-bottom: 20px;
    background-image: url(/wp-content/uploads/2026/01/stars.svg);
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 100px;
    margin-left: 0px;
    margin-right: auto;
}
.review-item .stars.stars5 {
    width: 100px;
}
.review-item .stars.stars4 {
    width: 80px;
}
.review-item .stars.stars3 {
    width: 60px;
}
.review-item .stars.stars2 {
    width: 40px;
}
.review-item .stars.stars1 {
    width: 20px;
}
.review-item .author {
    font-weight: 600;
    margin-bottom: 15px;
}
.reviews-slider .slick-track .slick-slide {
    height: unset !important;
    padding: 0 10px !important;
}
.review-item .text {
    font-style: italic;
}
ul.slick-dots li {
    width: 10px;
    height: 10px;
    border: solid 1px var(--g5-color-secondary);
	background: var(--g5-color-secondary);
    margin-left: 3px;
    margin-right: 3px;
}

.slick-slider .slick-arrow {
    width: 35px;
    height: 35px;
    border-radius: 100px;
    background-color: var(--g5-color-accent);
    background-image: url(/wp-content/uploads/2026/01/arrow-slider.svg);
    background-position: 57% 50%;
    background-repeat: no-repeat;
    background-size: 10px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transform: translateY(-50%) scale(-1, -1);
    transform: translateY(-50%) scale(-1, -1);
}
.slick-slider .slick-arrow i.fa {
    display: none !important;
}
.slick-slider .slick-arrow.slick-prev {
    left: -9px;
}
.slick-slider .slick-arrow.slick-next {
    right: -9px;
    -webkit-transform: translateY(-50%) scale(-1, -1);
    transform: translateY(-50%) scale(1, 1);
}
.slick-slider .slick-arrow:hover {
    background-color: #434242 !important;
}
.serv-sit-desc ul {
    display: flex;
    padding: 0px;
    list-style: none;
    flex-wrap: wrap;
    gap: 20px;
}
.serv-sit-desc ul li {
    width: calc(50% - 10px);
    background: #f5f7f8;
    border-radius: 15px;
    padding: 30px 50px 30px 75px;
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
}
.serv-sit-desc ul li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50px;
    width: 8px;
    height: 8px;
    background: var(--g5-color-accent);
    transform: translateY(-50%);
}
.serv-desc .serv-desc-item {
    width: 100%;
    background: #f5f7f8;
    border-radius: 15px;
    padding: 30px;
    position: relative;
}
.serv-desc .serv-desc-item strong {
    color: var(--g5-color-accent);
    font-size: 20px;
}
.serv-desc .serv-desc-item ul {
    padding: 0px;
    list-style: none;
}
.serv-desc .serv-desc-item ul li {
    position: relative;
    padding-left: 25px;
}
.serv-desc .serv-desc-item ul li + li {
    margin-top: 7px;
}
.serv-desc .serv-desc-item ul li:before {
    content: "";
    position: absolute;
    top: 11px;
    left: 0px;
    width: 17px;
    height: 1px;
    background: var(--g5-color-accent);
}
.serv-desc .serv-desc-item + .serv-desc-item {
    margin-top: 20px;
}
.serv-page .about-desc {
    background: unset;
    margin: 0px;
}
.serv-step-items .vc_column-inner > .wpb_wrapper,
.serv-adv .vc_row .vc_column-inner> .wpb_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.service-step-item {
    width: calc(25% - 15px);
    background: var(--g5-color-secondary);
    border-radius: 15px;
    padding: 80px 50px 40px 20px;
    position: relative;
    color: #fff;
    font-weight: bold;
}
.service-step-item:before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: 45px;
    height: 45px;
    background: var(--g5-color-accent);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}
.service-step-item:nth-child(1):before {
    content: "1";
}
.service-step-item:nth-child(2):before {
    content: "2";
}
.service-step-item:nth-child(3):before {
    content: "3";
}
.service-step-item:nth-child(4):before {
    content: "4";
}
.service-step-item:nth-child(5):before {
    content: "5";
}
.service-step-item:nth-child(6):before {
    content: "6";
}
.service-step-item:nth-child(7):before {
    content: "7";
}
.service-step-item:nth-child(8):before {
    content: "8";
}
.service-step-item:nth-child(9):before {
    content: "9";
}
.service-step-item:nth-child(10):before {
    content: "10";
}
.service-result-item {
    width: calc(33.333% - 13.333px);
    background: #f5f7f8;
    border-radius: 15px;
    padding: 80px 25px 30px 25px;
    position: relative;
    /*font-weight: bold;*/
    /*font-size: 20px;*/
}
.service-result-item:before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    background-image: url(/wp-content/uploads/2026/01/icon-1.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
    transform: scale(-1, -1);
}
.pages-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.pages-list .page-item a {
    display: block;
}
.page-item {
	background: #f5f5f5;
	border-radius: 15px;
	padding: 20px;
	height: 130px;
    position: relative;
}
.page-item::after {
    content: "";
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background-image: url(/wp-content/uploads/2026/01/icon-1.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
}










