.btn_label{
    font-family: var(--bs-heading-font-family);
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
}
.btn-green{
    background-color: var(--color-green-bright);
    color: var(--bs-dark);
    border: 1px solid var(--color-green-bright);
    padding: 0 50px;
}
.btn-green:hover{
    background-color: transparent;
    color: var(--bs-dark) !important;
    border: 1px solid var(--bs-primary);
}
.h1{
    font-size: 40px;
    font-weight: 500;
    line-height: 50px;
    font-family: var(--bs-heading-font-family);
}
.metro-text-contact{
    color: var(--bs-body-color);
}
.heading_block .h3,
.text-block h3{
    font-size: 22px;
    line-height: 38px;
    font-weight: 500;
}
.text-block h3{
    padding-bottom: 20px;
}
.text-block7-pb p{
    padding-bottom: 20px;
}
.iconbox_block .iconbox_icon{
    background-color: transparent;
    font-family: var(--bs-heading-font-family);
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    margin: 0 !important;
    width: 100px !important;
    height: 100px !important;
}
.iconbox_block.layout_icon_left{
    border-radius: 50%;
    background-color: var(--bs-light);
    padding: 0 !important;
    justify-content: center;
    align-items: center;
}
.layout_icon_left.services-btn:hover{
    background-color: var(--color-green-bright);
}
.iconbox_block:hover{
    transform: translateY(-2px);
    box-shadow: 0 0 20px 5px rgba(243, 249, 255, 1);
}
.icon-li{
    align-items: center;
}
.iconbox_content{
    padding-left: 15px;
    padding-right: 15px;
    display: flex;
    flex-direction: column;
    font-size: 15px;
}
.contact-metro{
    display: flex;
    gap: 15px;
}
.metro-wrapper{
    display: flex;
	align-items:center;
    gap: 10px;
}
.metro-icon{

	background: url("../img/logo_mos_metro.svg") no-repeat;
	width: 18px;
  height: 15px;
  background-size: contain;
}
.metro-icon img{
    transform: translateY(-2px);
}
.diract_contact_links .iconbox_block.layout_icon_left .iconbox_icon{
    width: 56px!important;
    height: 56px!important;
    background-color: rgba(117, 145, 163, 1) !important;
}
.contact-phone{
    display: flex;
    align-items: center;
    gap: 15px;
}
.green-btn{
    padding-top: 40px;
}
.green-btn a{
    padding-left: 50px;
    padding-right: 50px;
}
.case-btn{
    text-align: right;
}
.dark-bgnd{
    background-color: var(--color-blue-dark);
}
.light-bgnd{
    background-color: white;
    border-radius: 20px;
    padding: 40px 30px;
    min-height: 331px;
}
.text-15{
    font-size: 15px;
    line-height: 26px;
    font-weight: 400;
}
.contact_description{
    max-width: 800px;
margin: 0 auto;
}
.social-telegram, .social-whatsapp{
    width: 42px;
    height: 42px;
}
.social-media-contact{
    margin-bottom: 0 !important;
    margin-top: 0;
    display: flex;
    justify-content: space-evenly;
    gap: 20px;
}
.phone-wrapper{
    display: flex;
    flex-direction: column;
}
.social-media{
    list-style: none;
    padding-left: 0;
}
.social-telegram{
    background: url("../img/TG-icon.svg") no-repeat;
}
.social-whatsapp{
    background: url("../img/WA-icon.svg") no-repeat;
}
.social-telegram-footer, .social-whatsapp-footer{
    width: 40px;
    height: 40px;
    background-size: contain;
}
.page_banner_section{
    background-color: var(--color-blue-dark);
}

/****Шахматный порядок карточек услуг*******/
.services-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.service-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
}

.service-card__image img {
    width: 100%;
    border-radius: 20px;
}

.service-card__content {
    flex: 1;
}

.service-card__buttons {
    margin-top: 10px;
}

.service-btn {
    display: inline-block;
    padding: 8px 15px;
    background: #0073aa;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin-right: 5px;
}

.service-btn:hover {
    background: #005f88;
}
.single-service-card{
    display: flex;
    align-items: center;

    /*padding: 20px;*/
}
/* Меняем порядок карточки (картинка справа) */
.service-card.reversed, .single-service-card.reversed {
    flex-direction: row-reverse;
}

.btn-modal{
    border: 1px solid var(--color-green-bright);
}
.btn-modal:hover{
    border: 1px solid var(--color-green-bright);
    color: white;
}
.service-img-wrap{
    border-radius: var(--bs-border-radius);
}
.img-width-100{
    width: 100%;
}
.cases-banner{
    height: 500px;
}
.cases-bg{
    background: rgba(229, 240, 254, 1) url("../img/case-bg.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: max-content;
}
.cases-order-left-wrapper{
    padding-right: 100px;
}
.cases-order-row{
    padding: 60px 0;
}
.cases-text-block h3{
    font-family: var(--bs-body-font-family);
    font-size: 17px;
    font-weight: 700;
    line-height: 22px;
    margin: 10px 0 ;
}
.cases-facts-left-wrapper{
    padding-right: 80px;
}
.contact-link a{
    font-family: var(--bs-heading-font-family);
    font-size: 13px;
    color: white;
    line-height: 31px;
    font-weight: 500;
    transition: all ease-in-out 1s;

}
.contact-link a:hover{
    text-decoration: underline;

}
.case-btn-single{
    padding-top: 0;
}
.iconbox_block.services-btn{
    border-radius: 20px;
    height: 85px;

}
.footer-menu__left, .footer-menu__right{
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-evenly;
}
.footer-menu__left .nav-link, .footer-menu__right .nav-link, .contact-link-footer a, .contact-link-footer{
    font-family: var(--bs-heading-font-family);
    font-size: 14px;
    color: var(--bs-body-color);
    line-height: 35px;
    font-weight: 400;
}
.footer-menu__left .nav-link:hover, .footer-menu__right .nav-link:hover, .contact-link-footer a:hover{
    text-decoration: underline;
}
.contact-link-footer a{
    color: var(--bs-body-color);
}
.social-media-footer{
    justify-content: flex-start;
    gap: 30px;
    padding-top: 20px;
}
.footer-copyright{
    border-top: 1px solid var(--bs-light);

}
.blue-bg{
    background: url("../img/blue-bg.svg") no-repeat;
    background-size: cover;
}
.contact-title{
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    font-family: var(--bs-body-font-family);
    color: white;
}
.contact-title-wrapper{
    width: 60%;
    margin: 0 auto;
}
.banner-text-wrapper{
    max-width: 55%;
}
.btn-blue{
    background-color: var(--color-blue-bright);
    color: white;
    border: 1px solid var(--color-blue-bright);
    padding: 0 50px;

}
.btn-blue:hover{
    border: 1px solid var(--color-blue-bright);
    color: var(--bs-body-color);
}
.it_solution_hero_section{
    padding-bottom: 0;
}
.heading_block .heading_h3{
    font-size: 24px;
    line-height: 38px;
    font-weight: 500;
}
.marker-img-wrapper{
    max-width: 22px;
}
.marker-item{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.marker-text{
    padding-left: 17px;
}
.home-block3-wrapper-left{
    padding-right: 40px;
    padding-top: 0;
}
.home-block3-wrapper-right{
    padding-left: 40px;
}
.image_wrap_radius img{
    border-radius: 20px;
}
.image_wrap_radius{
    text-align: right;
}
.process-section-bg{
    background-image: url("../img/services-half-bg.svg");
    background-size: initial;
    background-position: right 0 bottom 0;
    background-repeat: no-repeat;
}
.home-process-section-bg{
    background-image: url("../img/home-half-bg.svg");
    background-position: left 0 bottom 0;
}
.client_logo_section{
    padding-top: 120px;
}
.accent-text {
    font-family: var(--bs-heading-font-family);
    font-size: 34px;
    font-weight: 500;
    color: var(--color-blue-bright);
    line-height: 60px;

}
.two-columns {
    column-count: 2;
    column-gap: 30px;
    padding-left: 15px;
}
.bright-blue-bg{
    background-color: var(--color-blue-bright);
}
.text-white p{
    color: white;
}
.ya-map-filter{
    filter: grayscale(50%);
}
.contact_info_box{
    justify-content: center;
}
.iconbox_block .iconbox_icon-contact-page{
    background-color: var(--bs-primary-bg-subtle);
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 30px !important;

}
.metro-icon-contact img{
    transform: translateY(0px);
}

.metro-text .metro-text-contact,
.iconbox_content p,
.contact-link-page a{
    font-size: 17px;
    font-family: var(--bs-body-font-family);
}
.iconbox_block.text-center{
    min-height: 315px;
}
li::marker {
    color: var(--color-blue-bright)
}
.service_block .service_title a{
    font-size: 26px;
    line-height: 26px;
    font-weight: 500;
    font-family: var(--bs-heading-font-family);
}
.single-service-banner-wrapper{
    display: flex;
}
.iconbox_block.single-services-btn{
    background-color: white;
}
.service-banner__buttons{
    padding-left: 40px;
}
.banner-text-wrapper{
    padding-right: 20px;
}
.image-center{
    text-align: center;
}
.img-radius img{
    border-radius: 20px;
    object-fit: cover;
    height: 100%;
    width: auto;

}
.funfact_block{
    min-height: 345px;
}
.img-radius{
    height: 100%;
}
.pricing_policy_wrap .iconbox_block .steps-icon{
    background-color: var(--color-blue-bright);
    border-radius: 50%;
    width: 55px !important;
    height: 55px !important;
}
.digit-white{
    color: white;
    font-family: var(--bs-body-font-family);
    font-size: 40px;
    font-weight: 700;
    line-height: 28px;
}
.steps-iconbox_block{
    min-height: 325px;
}
.steps-iconbox_content{
    padding-top: 40px;
}
.heading-h3{
    font-size: 27px;
    font-weight: 500;
    line-height: 43px;
    font-family: var(--bs-heading-font-family);
    color: white;
}
.section_space_80{
    padding-top: 80px;
    padding-bottom: 80px;
}
.two-columns {
    columns: 2;
    column-gap: 40px;
    padding: 20px;
    margin: 0 auto;
}
.two-col-heading{
    max-width: 50%;
    margin-bottom: 0;
}
.section_mt{
    margin-top: 120px;
}
.service-text-card:last-child{
    padding-bottom: 120px !important;
}
.banner-about-text-wrapper{
    justify-content: center;
}
.about-banner-text{
    font-size: 19px;
    font-weight: 400;
    line-height: 30px;
}
.about-banner-section{
    padding: 50px 0 50px;
}
.about-icon-1, .about-icon-2, .about-icon-3{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(231, 236, 252, 1);
    border-radius: 50%;
    width: 55px;
    height: 55px;
    margin-bottom: 30px;
}
.about-icon-2{
    background-color: rgba(255, 245, 190, 1);
}
.about-icon-3{
    background-color: rgba(236, 255, 190, 1);
}

.heading-h4{
    font-family: var(--bs-heading-font-family);
    font-size: 22px;
    font-weight: 500;
    line-height: 38px;
    color: var(--bs-dark);
}
.about-img-1{
    text-align: left;
}
.about-accent-text{
    color: var(--color-blue-bright);
    font-family: var(--bs-body-font-size);
    font-size: 25px;
    line-height: 50px;
    font-weight: 700;

}
.pricing_policy_wrap .iconbox_block .steps-icon{
    margin-left: 15px !important;
}
.iconbox_block.whapp, .iconbox_block.tg{
    min-height: 50px;
    padding: 10px;
}
.whapp .social-media, .tg .social-media{
    padding-top: 10px;
    align-items: center;
}
.whapp, .tg{
    display: flex;
    justify-content: center;
}
.social-text{
    font-family: var(--bs-heading-font-family);
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0 !important;
}
.btn-form{
    padding: 20px 40px;
}
.modal-content{
    background-color: var(--bs-light);
}
.heading_block a .heading_text:hover{
    color: var(--color-blue-bright);
}
.marker-text{
    max-width: 500px;
}
.btn-contact-modal:hover{
    color: white !important;
}
.text-block__cases h3{
	padding-bottom:0;
}

    /************Media****************/


@media screen and (max-width: 1600px){
    .single-service-banner-wrapper{
        padding: 130px 100px 130px;
    }
}

@media screen and (max-width: 1300px){
    .single-service-banner-wrapper{
        padding: 130px 50px 130px;
    }
    .funfact_block{
        min-height: 400px;
    }
}
@media screen and (max-width: 1200px){
    .h1, h1{
        font-size: 37px;
        line-height: 70px;
    }
    .heading_block .heading_text{
        font-size: 23px;
        line-height: 38px;
    }
    .portfolio_block .portfolio_title{
        font-size: 23px;
        line-height: 28px;
    }
    .service_block .service_title a{
        font-size: 23px;

    }
    .iconbox_title.single-service-iconbox_title{
        font-size: 14px !important;
    }
    .marker-text{
        max-width: 400px;
    }
}
@media screen and (max-width: 1090px){
    .service_facilities_group .home-features{
        flex-basis: 100%;
    }
    .img-none{
        display: none;
    }
    .funfact_wrapper .col-lg-8{
        width: 100%;
    }
}
@media screen and (max-width: 1052px){
    .content_layer_group span{
        font-size: 17px;
    }
}
@media screen and (max-width: 1024px){
    .diract_contact_links{
        flex-direction: column;
    }
    .iconbox_block.layout_icon_left{
        padding-bottom: 15px !important;
    }
  
    .service_facilities_group > li{
        flex-basis: 100%;
    }
    .light-bgnd{
        min-height: 383px ;
    }
    .steps-iconbox_block{
        min-height: 383px;
    }
	.home-features .iconbox_block.layout_icon_left{
		 padding-bottom: 1px !important;
	}
}

@media screen and (max-width: 992px){
    .header-row{
    flex-wrap: nowrap;
    }
    .content_layer_group span{
        font-size: 15px;
    }

    .service_facilities_group > li{
        flex-basis: 100%;
    }
    .service_facilities_group .home-features{
        flex-basis: 50%;
    }
    .two-columns{
        column-count: 1;
    }
    .image_wrap_radius{
        text-align: center;
    }
    .text-block-wrapper{
        padding-top: 40px;
    }
    .banner-text-wrapper{
        max-width: 80%;
    }
    .site_header .header_btns_group > li:first-child {
        display: inline-block;
    }
    .pt-mobile-correction-50{
        padding-top: 50px;
    }
    .image_wrap_radius img{
        width: 100%;
    }
    .about-pt-40{
        padding-top: 40px;
    }
    .step-card{
        width: 50%;
    }
    .pricing_policy_wrap > div .iconbox_block{
        padding: 30px 30px;
    }
    .service-img-wrap{
        text-align: center;
    }
    .service-img-wrap a{
        width: 100%;
    }
    .service-card-archive{
        padding-right: 0;
        padding-left: 0;
    }
    .section_space{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .funfact_block{
        min-height: 405px;
    }
    .two-col-heading{
        max-width: 100%;
    }
    .btn_label{
        font-size: 11px;
    }
	.about-section3{
		padding-bottom:0;
	}


}
@media screen and (max-width: 768px) {
    .case-btn{
        text-align: left;
        padding-top: 0;
    }
    .btn .btn_label{
        padding: 19px 0 19px 0;
    }
    .metro-icon img{
        transform: translateY(-1px);
        max-width: 12px;
    }
    .contact-wrapper{
        align-items: flex-start;
    }
    .contact-title-wrapper{
        width: 100%;
    }
    .metro-icon-footer img{
        transform: translateY(1px);
    }
    .image_wrap_radius img{
        width: 100%;
    }
    .banner-text-wrapper{
        max-width: 100%;
    }
    .portfolio_block .portfolio_title{
        font-size: 19px;
        font-weight: 600;
    }
    .funfact_block{
        min-height: 50px;
    }
    .single-service-banner-wrapper{
        flex-direction: column;
    }
    .banner-text-wrapper{
        text-align: center;
        margin-bottom: 30px;
    }
    .service-banner__buttons{
        padding-left: 0;
    }
    .service-text-card:last-child{
        padding-bottom: 60px !important;
    }
    .section_space{
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .two-col-heading, .two-columns{
        padding-left: 0;
        padding-right: 0;
    }
    .heading-h3 p{
        font-size: 22px;
    }
    .p-15{
        padding-left: 15px;
        padding-right: 15px;
    }
	.about-section3{
		padding-bottom: 0;
	}
}
@media screen and (max-width: 667px) {
    .accent-text{
        font-size: 25px;
    }
}
@media screen and (max-width: 576px) {
    .diract_contact_links .iconbox_block.layout_icon_left p,
    .contact-link a, .contact-link-footer, .contact-link a{
        font-size: 12px;
        font-weight: 400;
        line-height: 25px;
    }
    .contact-link-footer{
        line-height: 35px;
    }
    .footer-menu__left .nav-link,
    .footer-menu__right .nav-link{
        font-size: 12px;
    }
    .content_layer_group span{
        font-size: 13px;
    }
    .heading_block .heading_text{
        font-size: 23px;
    }
    .service_facilities_group > li{
        flex-basis: 100%;
    }
    .service-card .service-card__image{
        padding-right: 0 !important;
        padding-left: 0;
    }
    .service-card{
        padding: 15px;
    }
    
    .metro-icon-footer img{
        transform: translateY(1px);
    }
    .step-card{
        width: 100%;
    }
    .steps-iconbox_block, .light-bgnd{
        min-height: 100px;
    }
    .section_space{
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .about-mb-0{
        margin-bottom: 0;
    }
    .page_title{
        font-size: 32px;
        line-height: 42px;
    }
    .about-banner-text{
        font-size: 17px;
    }
    .client_logo_section{
        padding-top: 80px;
    }
    .case-btn__none{
        display: none;
    }
    .marker-text{
        max-width: 300px;
    }
    .service_facilities_group .home-features{
        flex-basis: 100%;
    }
    .contact-page-card-wrapper p, .contact-page-card-wrapper a{
        font-size: 15px !important;
    }
    .iconbox_block.text-center{
        min-height: 50px;
    }
    .metro-icon-contact img{
        transform: translateY(4px);
    }
	.metro-icon{
		width:15px;
		height:12px;
	}

}
@media screen and (max-width: 425px) {
    .diract_contact_links{
        align-items: center;
    }
    .contact-wrapper{
        align-items: flex-start;
    }
    .h1, h1{
        font-size: 37px;
        line-height: 60px;
    }
	.service_block .service_image{
		height:430px;
	}
	.contact-wrapper .iconbox_block.layout_icon_left{
		gap:1px
	}
	
}
@media screen and (max-width: 407px) {
    .diract_contact_links .iconbox_block.layout_icon_left p{
        font-size: 11px;
    }
}
.grecaptcha-badge{
	display:none;
}
.img-100{
	width:100%;
}
@media screen and (min-width: 1024px) {
.portfolio_block .portfolio_title{
	max-width: 60%;
}
}