*{
    margin: 0;
    padding: 0;
}
body{
    font-family: sans-serif;
}
.container{
    max-width: 1140px;
    margin: 0 auto;
}
.top{
    min-height: 768px;
    background: linear-gradient(0deg, #EBF3FB 8.84%, rgba(152, 195, 232, 0) 31.12%);
    
}
.top_box{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.header{
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    padding-top: 42px;
}
.top_info{
    padding-top: 115px;
    flex-grow: 1;
    background-image: url(img/top_back.svg);
    background-repeat: no-repeat;
    background-position: right 141px;
    background-size: 44%;
}
.top_heading{
    width: 510px;
    font-size: 64px;
    font-weight: 300;
    line-height: 74px;
    letter-spacing: 0.04em;
    color: #1F3F68;
    margin-bottom: 32px;
}
.heading{
    font-size: 36px;
    text-align: center;
    font-weight: 300;
    line-height: 46px;
    letter-spacing: 0.05em;
    color: #000000;  
}
.heading_mini{
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.05em;
    color: #1F3F68;
    margin-bottom: 14px;
}
.heading_footer{
    text-align: left;
    font-size: 36px;
    line-height: 46px;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    width: 340px;
    margin-bottom: 32px;
    font-weight: normal;
}
.text{
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.05em;
    color: #1F3F68;
    opacity: 0.6;
}
.top_text{
    width: 425px;
}
.text_project{
    width: 75%;
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.05em;
    color: #222222;
    margin: 32px auto 64px;
    opacity: 1;
}
.footer__text{
    color: #FFFFFF;
}
.project_item{
    flex-grow: 1;
    position: relative;
}
.project_item_margin{
    margin-right: 32px;
}
.project_parent{
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
}
.project_img{
    width: 100%;
}
.img_text{
    font-size: 32px;
    line-height: 46px;
    text-align: right;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    position: absolute;
    top: 64px;
    right: 64px;
}
.img_text_parent{
    font-size: 28px;
    line-height: 46px;
    text-align: left;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    position: absolute;
    top: 32px;
    left: 32px;
}
.top_button{
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.04em;
    color: #FFFFFF;
    background: #5A98D0;
    box-shadow: 5px 10px 20px rgba(39, 75, 117, 0.2);
    border-radius: 10px;
    padding: 15px 50px;
    text-decoration: none;
    display: inline-block;
    margin-top: 71px;
}
.service_box{
    padding-top: 64px;
}
.service{
    display: flex;
    justify-content: space-between;
    padding-top: 64px;
}
.card{
    display: flex;
    flex-direction: column;
    width: 359px;
    padding: 44px 32px;
    box-sizing: border-box;
    background: #FFFFFF;
    box-shadow: 5px 20px 50px rgba(16, 112, 177, 0.2);
    border-radius: 10px;
    margin-bottom: 64px;
}
.card_img{
    align-self: center;
    margin-bottom: 51px;
}
.card_2{
    margin-top: -38px;
}
.card_link{
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.05em;
    color: #5A98D0;
    text-decoration: none;
    display: inline-block;
    padding-top: 29.8px;
}
.footer{
    background: #316099;
    padding-top: 91px;
    padding-bottom: 64px;
    margin-top: 112px;
}
.footer_top{
    padding-bottom: 96px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer_text{
    width: 495px;
}
.footer_copy{
    color: #FFFFFF;
}
.footer_botton{
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.04em;
    color: #FFFFFF;
    background: #5A98D0;
    text-decoration: none;
    padding: 15px 80px;
}
.footer_info{
  display: flex;
  justify-content: space-between;
  color: #FFFFFF;
  opacity: 1;
  padding-top: 64px;
  margin-bottom: 64px;
  list-style-type: none;
}
.vector{
    opacity: 0.4;
    border: 1px solid #FFFFFF;
}
.input{
    border: 1px solid #356EAD;
    box-sizing: border-box;
    border-radius: 10px;
    opacity: 0.4;
}
.button{
    background: #5A98D0;
    box-shadow: 5px 20px 50px rgba(16, 112, 177, 0.2);
    border-radius: 10px;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    color: #FFFFFF;
    text-transform: uppercase;
}
.footer_list{
    display: flex;
    flex-grow: 1;
    flex-basis: 33.3%;
    margin-right: 32px;
}
.footer_list:first-child::before{
    content: 'A.';
    display: block;
    margin-right: 16px;
}
.footer_list:last-child::before{
    content: 'E.';
    display: block;
    margin-right: 16px;
}
.footer_list:nth-child(2)::before{
    content: 'T.';
    display: block;
    margin-right: 16px;
}

.contacts_banners{
    padding-top: 50px;
    padding-bottom: 50px;
}
.main_info_contacts{
    display: flex;
    justify-content: space-between;
}
.contact_us{
    background-image: url(img/contact_us.svg);
    background-size: cover;
    margin-top: 45px;
    background-repeat: no-repeat;
}
.contacts_info{
    padding-top: 71px;
    max-width: 300px;
    display: flex;
    flex-direction: column;
    
}
.heading_contacts{
    font-size: 44px;
    line-height: 74px;
    text-align: center;
    letter-spacing: 0.04em;
    color: #FFFFFF;
}
.contact_us_text{
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 16px;
    max-width: 780px;
    margin: 0 auto;
}
.call_we{
    max-width: 940px;;
    margin-top: 57px;
    margin-bottom: 96px;
}
.form{
    box-sizing: border-box;
    padding: 56px;
    background: #FFFFFF;
    box-shadow: 5px 10px 50px rgba(16, 112, 177, 0.2);
    border-radius: 10px;
    width: 540px;
    height: 800px;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.04em;
    color: #1F3F68;
    opacity: 0.8;
}
.heading_form{
    margin-bottom: 48px;
    font-weight: 500;
    font-size: 20px;
}
.heading_contacts_form{
    padding-top: 40px;
    padding-bottom: 24px;
    font-weight: 500;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.04em;
    color: #1F3F68;
}
.img_form{
    padding-bottom: 23px;
}
.list_form{
    list-style-type: none;
    text-decoration: none;
}
.input_form{
    opacity: 0.4;
    border: 1px solid #356EAD;
    box-sizing: border-box;
    border-radius: 10px;
    width: 428px;
    height: 72px;
    margin-bottom: 32px;
}
.input_message{
    height: 144px;
    margin-bottom: 72px;
}
.button_form{
    background: #5A98D0;
    box-shadow: 5px 10px 20px rgba(16, 112, 177, 0.2);
    border-radius: 10px;
    padding: 23px 183px;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.04em;
    color: #FFFFFF;
    }
::placeholder{
    padding: 23px 43px;
}
.container_map{
    margin: 0 auto;
    max-width: 940px;
    height: 480px;
}
@media (max-width: 1024px){
    .container{
        padding-left: 32px;
        padding-right: 32px;
    }
    .top{
        min-height: 768px;
    }
    .top_info{
        background-position: right 280px;
        min-height: 653px;
    }
    .service{
        flex-direction: column;
        align-items: center;
    }
    .card{
        margin-bottom: 32px;
    }
    .project{
        margin-top: 95px;
    }
    .footer{
        padding-top: 47px;
        margin-top: 109px;
    }
    .footer_top{
        padding-left: 92px;
        padding-right: 92px;
        padding-bottom: 64px;
    }
    .footer_text{
        width: 336px;
    }
    .footer_botton{
        padding: 3px 20px;
    }
    .footer_info{
        display: flex;
        flex-direction: column;
        padding-left: 92px;
        padding-right: 92px;
        margin-bottom: 40px;
    }
    .footer_copy{
        padding-left: 92px;
        padding-right: 92px;
    }
    .footer_list{
        margin-bottom: 24px;
    }
    .main_info_contacts{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .call_we{
        margin-bottom: 64px;
    }
    .form{
        box-sizing: border-box;
        width: 520px;
        height: 780px;
        margin-top: 64px;
        padding: 54px;
    }
    .heading_form{
        max-width: 178px;
    }
    .input_form{
        max-width: 412.15px;
        height: 70.2px;
    }
    .input_message{
        height: 140.4px;
    }
    .button_form{
        width: 412.15px;
        height: 70.2px;
    }
    .container_map{
        max-width: 100%;
        height: 392px;
}
@media (max-width: 667px){
    .top{
        min-height: 376px;
        padding-bottom: 41px;
        box-sizing: border-box;
    }
    .header{
        padding-top: 24px;
    }
    .top_info{
        min-height: 376px;
        padding-top: 36px;
        display: flex;
        flex-direction: column;
        align-items: center;
        background: none;
    }
    .top_heading{
        width: 100%;
        font-size: 32px;
        line-height: 37px;
        text-align: center;
        margin-bottom: 12px;
    }
    .top_text{
        width: 100%;
        text-align: center;
    }
    .top_button{
        font-size: 12px;
        line-height: 26px;
        padding: 0 8px;
    }
    .heading{
        font-size: 24px;
        line-height: 28px;
    }
    .service_box{
        padding-top: 48px;
    }
    .service{
        padding-top: 32px;
    }
    .card{
        width: 100%;
    }
    .project{
        margin-top: 32px;
    }
    .text_project{
        width: 100%;
    }
    .img_text{
        font-size: 16px;
        line-height: 19px;
        top: 16px;
        right: 16px;
    }
    .img_text_parent{
        font-size: 16px;
        line-height: 19px;
        top: 16px;
        right: 16px;
    }
    .project_parent{
        flex-direction: column;
        margin-top: 16px;
    }
    .project_item_margin{
        margin: 0;
        margin-bottom: 16px;
    }
    .footer{
        padding-top: 18px;
        padding-bottom: 32px;
    }
    .footer_top{
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: 41px;
    }
    .heading_footer{
        font-size: 24px;
        line-height: 28px;
        text-align: center;
        width: 100%;
    }
    .footer__text{
        text-align: center;
        width: 100%;
        margin-bottom: 40px;
    }
    .footer_bottom{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footer_info{
        display: flex;
        flex-direction: column;
        padding: 32px 0;
        margin-bottom: 0;
    }
    .footer_copy{
        margin: 0;
        padding: 0;
    }
    .footer_list{
        margin-bottom: 18px;
    }
    .contact_us{
        margin-top: 33px;
    }
    .heading_contacts{
        font-size: 24px;
        line-height: 28px;
    }
    .contact_us_text{
        margin-top: 32px;
        font-size: 16px;
        max-width: 341px;
    }
    .call_we{
        margin-top: 46px;
        margin-bottom: 0;
    }
    .contacts_info{
        padding-top: 0;
        width: 100%;
    }
    .form{
        max-width: 342.67px;
        height: 520px;
        box-sizing: border-box;
        margin: 17px 32px;
        padding: 36px;
        font-size: 14px;
    }
    .heading_form{
        font-size: 16px;
        margin-bottom: 31px;
    }
    .input_form{
        max-width: 271.6px;
        height: 46.26px;
        margin-bottom: 20px;
    }
    .input_message{
        height: 92.52px;
    }
    .button_form{
        max-width: 271.6px;
        height: 46.26px;
        padding: 15px 60px;
    }
    .container_map{
        width: 100%;
        height: 349px;
        margin-bottom: -77px;
    }
}