@media(min-width: 1921px){
    .logo_bg{
        right: calc(50% - var(--max-container-width)/2  - 407px);
    }
}

@media(max-width: 1740px){
    #main.full_height .video_bg video,
    #main.full_height .video_bg img{
        height: 100%;
        top: 0px;
        position: relative;
    }
}

@media(max-width: 1540px){
    :root{
        --max-container-width: 1180px;
    }
    .chats_toggle{
        height: 140px;
    }
    .chats_row{
        padding-left: 30px;
        margin-top: 20px;
    }
    .circle_text{
        width: 97%;
        height: 97%;
    }
    .team_row .people_div{
        width: 31%;
    }
    .about_founder_text{
        width: 55%;
    }
    .people_img, .people_img::before{
        width: 180px;
    }
    #single_people .people_img{
        width: 40%;
    }
    #single_people .people_img::before{
        width: 100%;
    }
    .map_container_text{
        right: 0;
    }
    .about_text_div p.big_text{
        font-size: 32px;
        line-height: 1;
    }
    #main{
        min-height: 760px;
    }
    #main .video_bg video, #main .video_bg img{
        height: 100%;
    }
    .festival_timer_text{
        background-image: none;
        background: linear-gradient(to right, #405466, #405466, transparent);
    }
    .specprojects_main_text, .uslugi_preim_div, .egor_text{
        padding: 30px;
    }
    .speaker_card::before{
        height: 60%;
    }
    #logo_partners img{
        height: 80px;
    }
}

@media(max-width: 1480px){
    .mobile_button_boosty{
        position: fixed;
        right: 20px;
        bottom: -1px;
        background: var(--main);
        color: #fff;
        padding: 10px 14px 12px 14px;
        cursor: pointer;
        display: flex;
        font-size: 14px;
        z-index: 1000;
        border-radius: 4px 4px 0px 0px;
    }
    .mobile_button_boosty img{
        height: 18px;
    }
    h1{
        font-size: 36px;
    }
    .title h2, #form h2{
        font-size: 28px;
    }
    .title{
        margin-bottom: 40px;
    }
    #form .container, .festival_timer_text{
        padding: 80px;
    }
    .founder::before, .founder img{
        bottom: -70px;
    }
}

@media(max-width: 1240px){
    section{
        padding-top: 80px;
    }
    #logo_partners .container{
        padding-bottom: 80px;
    }
    :root{
        --max-container-width: 980px;
    }
    .about_text_div p.big_text{
        font-size: 28px;
    }
    #form .container, .festival_timer_text{
        padding: 80px 60px;
    }
    #search-modal h2, .count_item span, .separator{
        font-size: 48px;
    }
    .about_founder_text{
        margin-left: 50%;
    }
    .map_container_text{
        bottom: calc(50% - 125px);
    }
    .logo p, .footer_div a.logo p{
        font-size: 18px;
    }
    .logo img{
        height: 36px;
    }
    .uslugi_row .uslugi_div{
        width: 48%;
    }
    .about_text_div{
        padding: 20px;
    }
    .about_three .about_text_div,
    .about_three .about_text_div:nth-child(2), 
    .about_three .about_text_div:nth-child(5), 
    .about_three .about_text_div:nth-child(4){
        border-right: 0px solid var(--border-line);
        width: 50%;
    }
    .about_three .about_text_div:nth-child(4){
        border-bottom: 1px solid var(--border-line);
    }
    .about_three .about_text_div:nth-child(odd){
        border-right: 1px solid var(--border-line);
    }
    .speaker_card{
        width: 48%;
    }
    .speaker_card::before {
        height: 50%;
    }
    .special_guest_festival_end{
        padding-top: 20px;
    }
    .main_menu{
        gap: 25px;
    }
    #archive .premiy_div {
        width: calc(50% - 20px);
    }
    #logo_partners img{
        height: 66px;
    }
}

@media(max-width: 1024px){
    header .main_menu{
        display: none;
    }
    :root{
        --max-container-width: 700px;
        --max-container-small: 600px;
    }
    #about .container, #uslugi_text .container, 
    .general_partner_about, #festival_about .container{
        flex-direction: column;
        row-gap: 40px;
    }
    .about_img, .about_text, .uslugi_row .uslugi_div,
    .file_input, #form select, #form button,
    #form input, #form input[name="company"],
    .uslugi_text_container, .for_who_div,
    #archive_specprojects .specprojects_div,
    .specprojects_main_text, .specprojects_main_img,
    .partner_text, .container_partner img, .festival_about_text,
    .what_you_get_div, .egor_text, .egor_container img{
        width: 100%;
    }
    .about_founder_text{
        margin-left: 0;
        width: 100%;
    }
    .uslugi_preim_div, .etap_2 .uslugi_preim_div,
    .etap_3 .uslugi_preim_div, .etap_4 .uslugi_preim_div,
    .etap_5 .uslugi_preim_div, .etap_6 .uslugi_preim_div{
        flex: 1 1 calc(50% - 20px);
    }
    .founder, .founder img{
        position: relative;
    }
    #about_founder .container{
        padding: 80px 0px 0px 0px;
        gap: 40px;
        display: flex;
        flex-direction: column-reverse;
    }
    #about_founder{
        margin-top: 80px;
    }
    #logo_partners .flex{
        gap: 80px;
        row-gap: 40px;
    }
    .map_container_text{
        bottom: 0px;
        right: auto;
        left: 0;
    }
    #map_archive{
        padding: 80px 0px;
    }
    #map{
        aspect-ratio: 1.2;
    }
    .logo_bg{
        height: 70%;
        bottom: -2%;
    }
    .founder::before, .founder img{
        bottom: 0;
    }
    .bg_form{
        right: -480px;
    }
    .people_img, .people_img::before {
        width: 240px;
    }
    .map_container{
        margin-top: -100px;
    }
    .specprojects_main{
        flex-wrap: wrap;
    }
    .general_partner_row, .general_partner_about{
        flex-direction: column;
        gap: 30px;
    }
    #festival_about .container{
        gap: 40px;
    }
    #main .container, .dark_section_last{
        padding-bottom: 80px;
    }
    .dark_section_margin_top, footer{
        margin-top: 80px;
    }
    .secret_menu{
        display: block;
        position: fixed;
        top: 0;
        left: -110%;
        width: 100%;
        height: 100%;
        z-index: 100;
        background: var(--dark-bg);
        padding: 120px 0px;
        transition: .3s;
    }
    .secret_menu_active{
        left: 0;
    }
    .secret_menu .main_menu{
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 20px;
    }
    .burger{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: var(--main);
        width: 44px;
        height: 44px;
        border-radius: 4px;
    }
    .burger span{
        display: block;
        height: 1px;
        width: 28px;
        background: #fff;
        transition: .3s;
    }
    .burger_active span:first-child{
        transform: translate(0, 7px) rotate(45deg);
    }
    .burger_active span:nth-child(2){
        opacity: 0;
    }
    .burger_active span:last-child{
        transform: translate(0, -7px) rotate(-45deg);
    }
    .submenu-toggle{
        height: 10px;
        width: 10px;
        background: #fff;
    }
    .logo{
        flex-grow: 1;
    }
    header .container{
        gap: 15px;
    }
    .media_resources_div{
        width: 50%;
    }
    .main_menu li a{
        font-size: 18px;
    }
    .modal{
        padding: 20px;
    }
    .egor_container{
        flex-wrap: wrap;
    }
    .team_row .people_div{
        width: 48%;
    }
    .speaker_card::before {
        height: 64%;
    }
    .speaker_card{
        padding: 24px 30px;
    }
    .speaker_photo{
        height: 100px;
    }
    .festival_about_img{
        display: none;
    }
    #archive .people_div {
        width: calc(50% - 20px);
    }
    #archive .otz_div{
        width: 100%;
    }
    .chats_toggle{
        height: 44px;
        aspect-ratio: inherit;
        padding: 10px;
        gap: 10px;
        border-radius: 4px 4px 0px 0px;
    }
    .chats{
        bottom: 0;
        display: flex;
        flex-direction: column;
        align-items: end;
    }
    .chats_toggle img{
        height: 24px;
        position: relative;
    }
    .chats_toggle p{
        display: block;
    }
    .chats_row a{
        height: 38px;
    }
    .chats_row{
        padding-left: 0px;
        margin-top: 260px;
        gap: 5px;
    }
    .circle_text{
        display: none;
    }
    #logo_partners .flex img{
        height: auto;
        max-height: inherit;
        width: calc(33% - 60px);
    }
    .form_check_row{
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 20px;
    }
    .wpcf7-form-control-wrap, .wpcf7-form-control-wrap[data-name="user_company"], 
    .wpcf7-form-control-wrap[data-name="user_topic"], .file_input, .wpcf7-form-control{
        width: 45%;
    }
    #form .subtitle{
        margin: 30px 0px;
    }
}

@media(max-width: 770px){
    :root{
        --max-container-width: 460px;
    }
    footer .container{
        flex-direction: column;
        gap: 30px;
    }
    #form .container, .festival_timer_text{
        padding: 40px 24px;
    }
    .logo_bg{
        display: none;
    }
    #form .subtitle{
        margin: 20px 0px 40px 0px;
    }
    #logo_partners .flex img{
        width: 45%;
        max-height: 100px;
        object-fit: contain;
    }
    #logo_partners .flex{
        gap: 15px;
        row-gap: 20px;
    }
    .people_img, .people_img::before{
        width: 180px;
    }
    .people_text h3{
        text-align: center;
    }
    .video_bg span, .play{
        width: 60px !important;
        height: 60px !important;
        background-position: 22px center !important;
    }
    .festival_timer_text, #festival_timer .container img{
        position: relative;
    }
    #festival_timer .container img{
        width: 100%;
        height: auto;
        right: 0;
    }
    #festival_timer .container{
        flex-direction: column-reverse;
    }
    .festival_timer_text{
        gap: 30px;
    }
    #search-modal h2, .count_item span, .separator{
        font-size: 36px;
    }
    .festival_timer_text{
        background: #405466;
    }
    .map_container img{
        transform: scale(0.9);
        margin-left: -15%;
        margin-top: -4%;
    }
    [data-name="Калининград"]{
        left: 3px;
    }
    [data-name="Барнаул"] {
        bottom: 116px;
        left: 529px;
    }
    [data-name="Санкт-Петербург"]{
        left: 179px;
    }
    [data-name="Тверь"]{
        left: 156px;
    }
    [data-name="Долгопрудный"]{
        left: 176px;
    }
    [data-name="Москва"]{
        left: 172px;
    }
    [data-name="Казань"]{
        top: 367px;
        left: 241px;
    }
    #about{
        overflow: hidden;
    }
    .team_row .people_div{
        width: 47%;
    }
    .speaker_card, .video-grid .col-xs-12{
        width: 100%;
    }
    .speaker_card::before{
        height: 100%;
    }
    .speakers_row{
        margin: 30px 0px;
    }
    .special_guest_festival_end{
        padding-top: 50px;
    }
    .uslugi_preim_div, .etap_2 .uslugi_preim_div,
    .etap_3 .uslugi_preim_div, .etap_4 .uslugi_preim_div,
    .etap_5 .uslugi_preim_div, .etap_6 .uslugi_preim_div{
        flex: 1 1 100%;
    }
    .search_div, #single_people .people_text,
    #archive .premiy_div{
        width: 100%;
    }
    #single_people .people_img{
        width: 60%;
    }
    #single_people .container{
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 40px;
    }
    #single_people .people_text{
        align-items: center;
        justify-content: center;
    }
    #error.thanks h1{
        font-size: 36px;
    }
    .wpcf7-form-control-wrap{
        width: 100%;
    }
    .modal_content{
        max-height: 90vh;
        overflow-y: auto;
    }
    .wpcf7 form.invalid .wpcf7-response-output{
        font-size: 14px;
        margin-top: 20px !important;
    }
    .wpcf7-form-control-wrap, .wpcf7-form-control-wrap[data-name="user_company"], 
    .wpcf7-form-control-wrap[data-name="user_topic"], .file_input, .wpcf7-form-control{
        width: 100%;
    }
}

@media(max-width: 500px){
    #search-modal{
        box-sizing: border-box;
    }
    #close-search{
        right: 20px;
    }
    #search-modal h2{
        margin-bottom: 20px;
    }
    #search-modal .container, .team_row .people_div{
        width: 100%;
    }
    .container{
        padding: 0px 20px;
    }
    .container_otz_specprojects{
        padding-top: 80px;
    }
    #main h1{
        font-size: 28px;
    }
    #main .container{
        padding-bottom: 60px;
    }
    .about_img::before{
        width: 98%;
        right: 3px;
        top: 0px;
    }
    .about_text_div{
        padding: 15px;
    }
    .title h2, #form h2{
        font-size: 24px;
    }
    #form{
        padding-left: 20px;
        padding-right: 20px;
    }
    .about_founder_text{
        padding: 0px 20px;
    }
    .founder::before{
        width: 100%;
        content: "";
        background-image: url("../img/bg_avatar.svg");
        height: 590px;
    }
    .founder img{
        width: 100%;
    }
    /* #logo_partners .flex img{
        width: 100%;
    } */
    .map_container_text{
        background: transparent;
        padding: 0px;
        backdrop-filter: blur(0px);
        margin-bottom: -40px;
    }
    .swiper-navigation button{
        width: 40px;
    }
    .swiper-navigation{
        margin-top: 30px;
    }
    .people_img{
        width: 60%;
    }
    .people_img::before, .media_resources_div{
        width: 100%;
    }
    .media_resources_div:last-child{
        aspect-ratio: inherit;
        border: 0px;
        padding-top: 30px;
    }
    .media_resources_div{
        aspect-ratio: 16/9;
    }
    #top_festival img{
        height: 40vh;
    }
    header{
        padding: 15px 0px;
    }
    #top_festival{
        margin-top: 68px;
    }
    .video_bg span{
        height: 70px;
        width: 70px;
        background-position: 25px center;
    }
    .festival_timer_text .title h2{
        font-size: 20px;
    }
    #search-modal h2, .count_item span, .separator{
        font-size: 28px;
    }
    .count_item .label{
        font-size: 12px;
    }
    .festival_timer_text{
        gap: 20px;
    }
    .festival_timer_text{
        padding: 24px;
    }
    #general_partner_festival img{
        width: 100%;
    }
    #general_partner_festival img{
        max-width: 100%;
    }
    .dark_section_top{
        background-size: 200%;
    }
    .specprojects_main_text, .uslugi_preim_div,
    .otz_div, .egor_text{
        padding: 30px 24px;
    }
    .container_partner{
        margin-bottom: 80px;
    }
    .container_partner_festival{
        margin-bottom: 0;
    }
    .otz_title{
        flex-direction: column;
        align-items: start;
        justify-content: start;
    }
    .top_page {
        padding-top: 120px;
    }
    .uslugi_preim_div{
        min-height: 180px;
    }
    .secret_menu{
        padding: 100px 0px;
    }
    .main_menu .sub-menu{
        top: 28px;
    }
    .form_check label, .form_check label a{
        font-size: 12px;
    }
    .main_menu .sub-menu{
        width: 300px;
    }
    .modal_content{
        padding: 30px 24px;
        gap: 10px;
    }
    .modal_content img.toggle_modal{
        top: 5px;
        right: 5px;
        height: 36px;
        width: 36px;
    }
    .modal h2{
        font-size: 20px;
    }
    .form_check{
        margin: 10px 0px 0px 0px;
    }
    .modal_content input, .modal_content select, 
    .modal_content .file_input{
        width: 100%;
    }
    .modal_form .wpcf7-form-control-wrap, 
    .modal_form .wpcf7-form-control-wrap[data-name="user_company"], 
    .modal_form .wpcf7-form-control-wrap[data-name="user_topic"], 
    .modal_form .file_input{
        width: 100%;
    }
    .modal_form .wpcf7-form-control-wrap[data-name="agree"]{
        width: 22px;
    }
    input[type="checkbox"]{
        height: 18px;
    }
    [data-name="user_company"]{
        display: none;
    }
    #archive .people_div{
        width: 100%;
    }
    [data-name="Калининград"]{
        left: 7px;
    }
}

@media(max-width: 440px){
    h1{
        font-size: 28px;
        margin-bottom: 40px;
    }
    .speaker_photo{
        height: 80px;
    }
    .specprojects_main_text, .uslugi_preim_div, .otz_div,
    #form .container, .festival_timer_text, .about_text_div,
    .egor_text, .speaker_card{
        padding: 24px 20px;
    }
    .btn_main, a.btn_main{
        line-height: 1;
    }
    .about_text_div{
        width: 100%;
    }
    .title h2, #form h2{
        font-size: 20px;
    }
    .bg_form{
        right: -180px;
        height: 70%;
    }
    .logo p, .footer_div a.logo p{
        font-size: 16px;
    }
    .logo img{
        height: 32px;
    }
    #open-search, #close-search, .burger{
        height: 38px;
        width: 38px;
    }
    #form .container, .speaker_card{
        border-radius: 8px;
    }
    .about_text_row::before{
        display: none;
    }
    .about_text_div, .about_three .about_text_div, 
    .about_three .about_text_div:nth-child(2), 
    .about_three .about_text_div:nth-child(5), 
    .about_three .about_text_div:nth-child(4){
        border: 1px solid var(--border-line);
        width: 100%;
    }
    img.file_icon{
        height: 20px;
        width: 20px;
    }
    .map_container img{
        margin-left: -65px;
    }
    h3, .talk_title, .time_block_title{
        font-size: 16px;
    }
    .schedule_day h3{
        font-size: 18px;
        margin-bottom: 30px;
    }
    #countdown{
        gap: 10px;
    }
    .burger span{
        width: 24px;
    }
    .speakers_row{
        margin: 30px 0px;
    }
    .people_img {
        width: 50%;
    }
    .logo p{
        font-size: 16px;
    }
}