body,html{
    padding: 0;
    margin: 0;
    font-family: 'SF Pro Display';
}


/* fonts */

@font-face {
    font-family: 'SF Pro Display';
    src: url('../fonts/SFPro/SFProDisplay-Bold.eot');
    src: local('SF Pro Display Bold'), local('SFProDisplay-Bold'),
        url('../fonts/SFPro/SFProDisplay-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SFPro/SFProDisplay-Bold.woff2') format('woff2'),
        url('../fonts/SFPro/SFProDisplay-Bold.woff') format('woff'),
        url('../fonts/SFPro/SFProDisplay-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display:swap ;

}

@font-face {
    font-family: 'SF Pro Display';
    src: url('../fonts/SFPro/SFProDisplay-Regular.eot');
    src: local('SF Pro Display Regular'), local('SFProDisplay-Regular'),
        url('../fonts/SFPro/SFProDisplay-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SFPro/SFProDisplay-Regular.woff2') format('woff2'),
        url('../fonts/SFPro/SFProDisplay-Regular.woff') format('woff'),
        url('../fonts/SFPro/SFProDisplay-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display:swap ;

}

@font-face {
    font-family: 'SF Compact Display Medium';
    font-style: normal;
    font-weight: normal;
    src: local('SF Compact Display Medium'), url('../fonts/SFCompact/sf-compact-display-medium-5864711817c30.woff') format('woff');
    font-display:swap ;

    }

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: bold;
    src: local('Lato'), url('../fonts/Lato/Lato-Bold.ttf') format('truetype');
    font-display:swap ;

}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: normal;
    src: local('Roboto'), url('../fonts/Roboto/Roboto-Regular.ttf') format('truetype');
    font-display:swap ;

}   

h1{
    font-style: normal;
    font-weight: bold;
    text-align: center;
    font-size: 45px;
    line-height: 54px;
}

.menu-btn{
    display: none;
    height: 50px;
    border: none;
    border-radius:5px ;
    background-color: transparent;
    cursor: pointer;
}

.container{
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;

}
.header{
    background: url(../img/header_bg.jpg) no-repeat center bottom ;
    background-size: cover;
    position: relative;
}

.header__container{
    position: relative;
}

.header__h3{
    font-style: normal;
    font-weight: bold;
    font-size: 30px;
    line-height: 36px;
}

.header__nav{
    height: 40px;
    box-sizing: border-box;
    padding-top: 65px;
    padding-left: 65px;
}

.header__content{
    padding-top: 140px;
}

.header__btns{
    margin-top: 90px;
    display: flex;
    justify-content: center;
}

.header__message{
    margin-top: 50px;
    display: flex;
    flex-direction: row;
}

.header__map_shift-left{
    margin-left: -60px;
}

.header__text{
    padding-top: 90px;
}

.header__paragrph{
    width: 545px;
}

.decore{
    position: absolute;
}

.decore_header-top{
    height: 375px;
    width: 217px;
    background: url(../img/header_decore_top.png) no-repeat top right;
    background-size: contain;
    top: 0;
    left: 0;
}

.decore_header-bot{
    height: 586px;
    width: 390px;
    background: url(../img/header_decore_bot.png) no-repeat top right;
    background-size: contain;
    bottom: -40px;
    right: 0;
}

.decore_partnet-left{
    height: 541px;
    width: 373px;
    background: url(../img/pratner_decore_left.png) no-repeat top right;
    background-size: contain;
    left: 0;
    top: -45px;
}
.decore_partnet-right{
    height: 691px;
    width: 375px;
    background: url(../img/pratner_decore_right.png) no-repeat top right;
    background-size: contain;
    right: 0;
    top: -153px;
}
.logo{
    font-style: normal;
    font-weight: bold;
    font-size: 30px;
    line-height: 36px;
}

.main-nav__item{
    font-size: 20px;
    line-height: 24px;
    display: inline-block;
    margin-right: 84px;
}

.main-nav__item:last-child{
    margin-right: 0;
}

.main-nav_left-margin{
    margin-left: 130px;
}

.font_xs{
    font-style: normal;
    font-weight: normal;
    font-size: 15px;
    line-height: 18px;
}

.main-nav{
    list-style: none;
    display: block ;
}

.main-nav_centered{
    display: flex ;
    align-items: center;
}




.main-nav__link{
    text-decoration: none;
    color: white;

}


.header_font{
 
    color: white;
}

.nav{
    vertical-align: center;
}

.nav_direction{
    display: flex;
    flex-direction: row;
}

.logo_main{
display: flex;
}

.logo_text{
    margin: auto;
}

.btn{
    width: 262px;
    height: 65px;
    font-weight: bold;
    font-size: 25px;
    line-height: 30px;
    text-align: center;
    border: none;
    border-radius: 0;
    cursor: pointer;
}

.btn_red{
    background-color: #F41125;
    color: #fff;
}

.btn_margin-right-30{
    margin-right: 30px;
}

.btn_grey{
    background-color: #E2E2E2;
    color: #565555;
}

.btn_black{
    background-color: black;
    color: white;
}

.mirored_bg{
    background: url(../img/mirored_bg.jpg) repeat-x center top ;
    background-size: contain;
    padding-bottom: 40px;
}

.h2{
    margin: 0;
    font-weight: bold;
    font-size: 45px;
    line-height: 54px;
    text-align: center;
}

.h2_black{
    color: #000000;
}

.h2_white{
    color: #ffffff;
}

.facts{
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.facts__number{
    font-weight: bold;
    font-size: 35px;
    line-height: 42px;
    color: #F20013;
    bottom: -6px;
    position: relative;
}

.facts__text{
    font-weight: normal;
    font-size: 25px;
    line-height: 30px;
}
.facts__item{
    width: 200px;
    margin-left:65px ;
    text-align: center;

}

.facts__item_width-227{
    width: 200px;

}

/* .facts__number-container_312{
    background: url(../img/312.png) no-repeat center bottom ;
    background-size: contain;
}

.facts__number-container_17{
    background: url(../img/17.png) no-repeat center bottom ;
    background-size: contain;
}

.facts__number-container_112{
    background: url(../img/112.png) no-repeat center bottom ;
    background-size: contain;
}

.facts__number-container_87{
    background: url(../img/87.png) no-repeat center bottom ;
    background-size: contain;
} */

.facts__number-container{
    position: relative;
    height: 40px;
    margin-bottom:15px ;
}

.mission-section{
    padding-top: 45px;
}

.mission-section__facts{
    margin-top: 45px;
}

.services-section{
    padding-top: 80px;
}

.services-section__h{
    margin-bottom: 70px;
}

.services{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
}

.services__card{
    box-sizing: border-box;
    padding: 30px 40px 0;
    height: 450px;
    width: 360px;
    border: 3px solid #FFFFFF;
    text-align: center;
    color: white;
}

.services__card_margin{
    margin: 0 20px;
}

.services__img-container{
    height: 112px;
}

.services__name{
    margin: 40px auto 20px;
    font-weight: bold;
    font-size: 30px;
    line-height: 36px;
}

.services__text{
    font-weight: normal;

}


.traffic-section{
    box-sizing: border-box;
    padding-top: 114px;
}

.traffic-section__h{
    margin-bottom: 80px;
}

.types{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    
}

.types__card{
    background: rgba(242, 0, 19, 0.5);
    margin-bottom: 34px;
    text-align: left;
    box-sizing: border-box;
    padding: 35px  0 0 100px;
    width: 554px;
    height: 341px;
    color: white;
}
.types__card_smal{
    height: 270px;
}

.types__name{
    font-weight: bold;
    font-size: 30px;
    line-height: 36px;
    margin: 0;
}

.types__text{
    margin: 20px 0 0;
    font-weight: normal;
    font-size: 15px;
    line-height: 18px;
    width: 387px;
}

.types__img_facebook{
    background: url(../img/facebook.png) no-repeat left center ;
    background-size: contain;
    height: 53px;
    margin-top: 20px;
}

.types__img_search{
    background: url(../img/search.png) no-repeat left center ;
    background-size: contain;
    margin-top: 36px;
    height:44px ;
}
.types__img_native{
    background: url(../img/NATIVE.png) no-repeat left center ;
    background-size: contain;
    height: 70px;
    margin-top: 19px;
}

.types__img_displya{
    background: url(../img/DISPLAY.png) no-repeat left center ;
    background-size: contain;
    margin-top: 19px;
    height: 70px;
    width: 460px;
    margin-left: -30px;
}
.grey-bg{
    background: linear-gradient(90deg,#E2E2E2 0%,#E3E3E3 15%,#eee 33%, #eee 66%,#E2E2E2 85%);
    background-size: cover;
}

.paetner-section{
    position: relative;
    padding-bottom: 140px;
    padding-top: 50px;
}

.paetner-section__content{
    display: flex;
    flex-direction: row;
}

.paetner-section__part{
    width: 50%;
    box-sizing: border-box;
}

.partner-section__h{
    width: 343px;
    text-align: left;
}


.partner-section__h-cont{
    padding-left: 88px;
}

.contact-form_normal{
    width: 510px;
}

.contact-form__input{
    border: none;
    background-color: transparent;
    box-sizing: border-box;
    border-bottom: 1px solid #000000;
    width: 100%;
    display: block;
    padding: 9px 0 9px 16px;
    font-weight: normal;
    font-size: 15px;
    line-height: 18px;
    margin-bottom: 20px;
}

.contact-form__input::placeholder{
    color: black;
}

.contact-form__input_before-btn{
    margin-bottom: 35px;

}

.best-cases__h{
    margin-bottom: 60px;
}

.cases{


    box-sizing: border-box;
}

.cases__card{
    margin-bottom: 15px;
    box-sizing: border-box;
    width: 100%;
    padding: 0 65px 0 135px;
    display: flex;
    flex-direction: row;
    height: 330px;
    text-align: left;
}

.cases__img{
    width: 326px;
    margin-right: 114px;
}

.cases__img img{
    width: 100%;
    height: auto;
}

.cases__message{
    box-sizing: border-box;
    padding-top: 77px;
}

.cases__off-h{
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 23px;
    font-family: 'SF Compact Display Medium';

}

.cases__main-h{
    font-weight: bold;
    font-size: 34.58px;
    line-height: 41px;
    text-transform: capitalize;
    margin:  24px 0;
    font-family: 'Lato';
}

.cases__paragraph{
    width: 487px;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: normal;
    font-size: 18.92px;
    line-height: 22px;
}

.cases__card_bg1{
    background: url(../img/case_card_bg1.jpg) no-repeat top center;
    background-size: cover;
}

.cases__card_bg2{
    background: url(../img/case_card_bg2.jpg) no-repeat top center;
    background-size: cover;
}

.cases__card_bg3{
    background: url(../img/case_card_bg3.jpg) no-repeat top center;
    background-size: cover;
    margin-bottom: 0;
}

.tell-us{
    box-sizing: border-box;
    padding-top: 165px;
    padding-bottom: 50px;

}


.tell-us__form{
    width: 50%;

}

.tell-us__container{
    display: flex;
    flex-direction: row;
}

.tell-us__decore{
    background: url(../img/mail.png) no-repeat top center;
    background-size: contain;
    margin-left: -60px;
    width: 564.95px;
    height: 367.89px;
}

.tell-us__h-decore{
    width: 50%;
    box-sizing: border-box;
    padding-right: 65px;
}

.tell-us__h{
    width: 290px;
    text-align: left;
    margin: 0 auto;
}

.footer{
    background: #000000;
    color: white;
    padding: 24px 0;
}

.footer__content{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
}

.footer__links{

}

.footer__links ul{
    list-style: none;
}

.footer__links li{
    display: inline-block;
}

.footer__links a{
    text-decoration: none;
    color: white;

    font-size: 15px;
    line-height: 18px;
}

.links_m-right-45{
    margin-right: 45px;
}

.links_m-right-15{
    margin-right: 15px;
}

.copyright{
    font-style: normal;
    font-weight: normal;
    font-size: 15px;
    line-height: 18px;
    text-transform: capitalize;
}

.addres{
    font-style: normal;
    font-weight: normal;
    font-size: 15px;
    line-height: 18px;
    text-transform: uppercase;
}
.addres_small-text{
    font-size: 13px;
    line-height: 18px;
}

.links_bold{
    font-weight: bold;
}

/* попап */


.overlay {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    z-index: 9999;
    display: none;
    box-sizing: border-box;
    padding-top: calc(50vh - 106px);
}

.overlay__close-btn{
    border: none;
    cursor: pointer;
    width: 25px;
    height: 25px;
    background: url(../img/close.png) no-repeat center center,transparent;
    background-size: contain;
    outline: none;
    -webkit-tap-highlight-color:transparent;
}

.overlay_visible{
    display: block;
}

.overlay__message{
    box-sizing: border-box;
    padding: 15px;
    margin: 0 auto;
    width: 500px;
    max-width: 95%;
    text-align: center;
    /* height: 100px; */
    background-color:white;
}

.overlay__close-row{
    display: flex;
    justify-content: flex-end;
}

.overlay__text{
    padding-top: 10px;
    color: black;
    font-family: 'SF Pro Display';
    font-size: 24px;
    font-weight: bold;
}

@keyframes formAnim{
    0% {transform: scale(0);}
    100% {transform: scale(1);}
}

.overlay__message_animation {
    animation: formAnim 0.3s ease-in;
}




@media screen and (max-width:1640px){
    .decore_partnet-left{
        display: none;
    }
}

@media screen and (max-width:1420px){
    .decore{
        display: none;
    }
    .mirored_bg{
        background-size: cover;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width:951px){
    .main-nav{
        display: flex !important;
    }
}

@media screen and (max-width:1200px){
    .main-nav__item{
        margin-right: 44px;
    }
    .header__map_shift-left{
        margin-left: 0;
    }
    .tell-us__decore{
        margin-left: 0;
        width: 90%;
        height: 300px;
    }
    .partner-section__h{
        margin-left: 20%;
    }
    .contact-form_normal{
        width: 85%;
    }
    .tell-us__h-decore{
        padding: 0;
    }
    .types{
        flex-direction: column;
        align-items: center;
    }

    .cases__card{
        padding: 0 65px;
    }
    .cases__img{
        padding-top: 50px;
    }
    .services{
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: center;
        
    }
    .services__card_margin{
        margin: inherit;
    }

    .services__card{
        margin-bottom: 25px;
    }
    .header__text{
        padding-right: 50px;
    }
    .header__paragrph{
        width: 100%;
    }
    .container{
        padding: 0 25px ;
        box-sizing: border-box;
    }
    .header__h3 br,.mission-section__h br{
        display: none;
    }
    .main-nav_left-margin{
        margin-left: 30px;
    }
}

@media screen and (max-width:950px){
    .header__map_shift-left{
        display: none;
    }
    .header__text{
        padding: 0 100px 50px;
    }

    h1 br{
        display: none;
    }
    .paetner-section__content {
        display: flex;
        flex-direction: column;
    }
    .paetner-section__part{
        width: 100%;
    }
    .partner-section__h{
        margin-bottom: 50px;
    }
    .partner-section__h{
        width: 100%;
        text-align: center;
        margin-left: 0;
    }
    .contact-form_normal{
        width: 500px;
        margin: 0 auto;
    }
    .contact-form_button-cont {
        display: flex;
        justify-content: center;
    }
    .tell-us__container{
        flex-direction: column;
    }
    .tell-us__decore{
        display: none;
    }
    .tell-us__h-decore,.tell-us__form{
        width: 100%;
    }
    .cases__img{
        margin-right: 15px;
        padding-top: 63px;
    }
    .cases__card{
        padding: 0 25px;
    }
    .cases__paragraph{
        width: 450px;
    }

    .nav{
        justify-content: space-between;
        box-sizing: border-box;
        padding-left: 25px;
        padding-right: 25px;
    }
    .menu-btn{
        display: block;
        justify-self: end;
    }
    .menu_visible{
    }
    .main-nav_centered{
        display: none;
    }

    .main-nav{
        height: 190px;
       
        width: 100%;
        left: 0;
        margin: 50px 0 0 0;
        position: absolute;
        border-radius: 15px;
        padding: 15px 40px;
        box-sizing: border-box;
        background-color: rgba(0,0,0,0.8);
    }
    .main-nav__item{
        display: block;
        margin-bottom: 20px;
    }
    .facts__item{
        margin: 0;
    }
}

@media screen and (max-width:660px){
    .contact-form_normal{
        width: 100%;
    }
    .contact-form__input{
        font-size: 18px;
        line-height: 22px;
    }
    .contact-form_normal{
        width: calc(100% - 50px);
    }

    .footer__content{
        text-align: center;
        flex-direction: column;
    }
    .services__card{
        max-width: 360px;
        width: 95%;
        padding: 30px 20px 0;
    }
    .types__card{
        width: 95%;
        max-width: 554px;
    }
    .mission-section__facts{
        flex-wrap: wrap;
        justify-content:space-evenly;
    }

    .facts__item{
        margin-bottom: 25px;
    }
    .footer__links ul{
        padding: 0;
    }
    .footer__logo,.copyright{
        margin-bottom: 20px;
    }
    .types__text{
        width: 100%;
        
    }
    .types__card{
        padding:35px 40px 0;
    }
    .types__img_displya{
        margin-left: 0;
    }
    .types__img_displya{
        width: 100%;
    }
    .types__img_native{
        width: 100%;
    }
    .types__card{
        height: auto;
        padding-bottom: 15px;
    }

    .types__card_smal{
        height: auto;
    }
    .cases__paragraph{
        width: 100%;
    }

    .cases__card{
        flex-direction: column;
        align-items: center;
        height: auto;
        text-align: center;
    }
    .header__text {
        padding: 0 10px 50px;
        text-align: center;
    }
    .header__btns{
        flex-direction: column;
        align-items: center;
    }
    .btn_margin-right-30{
        margin: 0 0 30px 0;
    }
    h1{
        font-size: 36px;
        line-height: 40px;
    }
    .logo {

        font-size: 24px;
        line-height: 48px;
    }
    
}

@media all and (-ms-high-contrast: none) , (-ms-high-contrast: active){
    .copyright{
        margin:  0 15px;
    }
}
@supports (-ms-accelerator:true)  {
    .copyright{
        margin:  0 15px;
    }
    .services__card{
        margin: 20px auto !important;
    }

}

@supports (-ms-ime-align:auto) {
    .copyright{
        margin:  0 15px;
    }
    .services__card{
        margin: 20px auto !important;
    }
}

@media all and  (max-width:660px) and (-ms-high-contrast: none) , (-ms-high-contrast: active)  {


  
        .cases__paragraph{
            width: 300px;
        }
    

 }
 @supports (max-width:660px) and (-ms-accelerator:true)  {
    .cases__paragraph{
        width: 300px;
    }
 }


@media screen and (max-width:415px){
    .contact-form_normal{
        width: 100%;
    }
    .h2{
        font-size: 36px;
        line-height: 40px;
    }

    .tell-us__h{
        text-align: center;
        width: auto;
        margin-bottom: 20px;
    }
    .cases__img{
        width: 100%;
        margin-right: 0;
    }
}

@media screen and (max-width:330px){
    .logo {
        font-size: 17px;
        line-height: 46px;
    }
    h1 {
        font-size: 28px;
        line-height: 34px;
    }
    .h2 {
        font-size: 18px;
        line-height: 20px;
    }
    .services__card {
        width: 100%;
    }
}