@media (max-width: 1919px) {
    .container {
        max-width: 1440px;
    }

    .header_content {
        padding: 14px 0;

    }

    .header_logo_img {
        width: 54px;
        height: 57px;
    }

    .header_nav_list {
        gap: 48px;
    }

    .header_nav_link,
    .header_link_call,
    .hero_descr,
    .hero_descr,
    .book_table_link,
    .section_title,
    .about_text,
    .about_text_bottom,
    .menu_descr,
    .menu_descr_btn,
    .menu_item_descr,
    .booking_form_input,
    .booking_form_textarea,
    .booking_form_input::placeholder,
    .booking_form_textarea::placeholder,
    .booking_form_button,
    .custom_checkbox_text,
    .modal__title,
    .modal__text,
    .form_btn,
    .form_attention,
    .contacts_top_descr,
    .contacts_bottom_left,
    .text_inst,
    .footer_item_link,
    .footer_btn_link,
    .footer_right_descr,
    .footer_bottom_main_descr,
    .policy {
        font-size: 16px;
    }

    .hero {
        height: 959px;
        padding-top: 205px;
    }

    .about {
        padding-top: 0px;
    }



    .hero_title,
    .hero_title_custom {
        font-size: 180px;
        max-width: 676px;
    }

    .about_top_descr,
    .red_custom,
    .booking_title,
    .contacts_top_title {
        font-size: 34px;
    }

    .about_top_wrapper {
        margin-bottom: 40px;
    }

    .about_text {
        max-width: 330px;
    }

    .about_bottom_text_wrapper {
        flex: 0 0 330px;
        height: 386px;
    }

    .about_top_text_wrapper {
        flex: 0 0 330px;
    }

    .about_gallery_img {
        width: 330px;
        height: 386px;
    }

    .about_gallery_img_custom {
        width: 562px;
        height: 386px;
    }

    .menu_descr {
        max-width: 330px;
    }

    .menu_list_link {
        font-size: 24px;
    }

    .menu_list_ietem {
        padding: 8px 0;
    }

    .menu_image {
        height: 657px;

    }

    .menu_left,
    .menu_gallery_wrapper,
    .menu_right {
        height: 736px;
    }

    .menu_descr_btn {
        margin-bottom: 37px;
    }

    .menu_item_descr {
        max-width: 586px;
    }

    .booking {
        padding-top: 214px;
        padding-bottom: 214px;
    }

    .booking_content {
        max-width: 684px;
        gap: 56px;
    }

    .booking_form_input {
        width: 212px;
    }

    .custom_checkbox_text::after {
        right: 667px;
    }

    .custom_checkbox_text::before {
        right: 665px;
    }

    .contacts_img {
        max-width: 330px;
        height: 329px;
    }


    .contacts_tel_link,
    .contacts_inst_link,
    .contacts_mail_link,
    .contacts_bottom_right {
        font-size: 24px;

    }

    .contacts_bottom_item {
        padding: 8px 0;
    }

    .footer_title {
        font-size: 140px;
        max-width: 526px;
    }

    .footer_title_custom {

        font-size: 140px;

    }

    .footer_right_descr,
    .footer_btn_link {
        margin-bottom: 16px;
    }

    .contacts_bottom_main_wrapper {
        padding: 40px 0;
    }

    .footer_right {
        height: 267px;
        max-width: 330px;
    }

    .text_inst {
        margin-left: 242px;
    }

    .contacts_top_descr {
        max-width: 334px;
    }

    .menu_list_link,
    .contacts_bottom_right,
    .contacts_tel_link,
    .contacts_inst_link,
    .contacts_mail_link,
    .footer_title_nav {

        font-size: 24px;
    }

    .hero_title {
        letter-spacing: -2px;
    }



}

@media (max-width: 1439px) {
    .container {
        max-width: 1280px;
    }



    .hero {
        height: 959px;
        padding-top: 205px;
    }

    .about_text {
        max-width: 290px;
    }

    .about_bottom_text_wrapper {
        flex: 0 0 290px;
        height: 339px;
    }

    .about_top_text_wrapper {
        flex: 0 0 290px;
    }

    .about_gallery_img {
        width: 290px;
        height: 339px;
    }

    .about_gallery_img_custom {
        width: 494px;
        height: 339px;
    }

    .menu_descr {
        max-width: 290px;
    }

    .menu_list_link {
        margin-bottom: 2px;
    }

    .menu_item_descr {
        max-width: 100%;
    }

    .menu_image {
        height: 580px;
    }

    .menu_left,
    .menu_gallery_wrapper,
    .menu_right {
        height: 746px;
    }

    .menu_descr_btn {
        margin-bottom: 46px;
    }

    .contacts_img {
        max-width: 290px;
        height: 289px;
    }

    .text_inst {
        margin-left: 202px;
    }

    .contacts_top_title {
        max-width: 451px;
    }

    .contacts_top_descr {
        max-width: 499px;
    }

    .footer_title {
        font-size: 120px;
        max-width: 499px;
    }

    .footer_title_custom {
        font-size: 120px;

    }




}


@media (max-width: 1279px) {
    .container {
        max-width: 1024px;
    }

    .hero {
        height: 995px;
        padding-top: 205px;
    }



    .about_text {
        max-width: 315px;
    }

    .about_bottom_text_wrapper {
        flex: 0 0 314px;
        height: 365px;
    }

    .about_top_text_wrapper {
        flex: 0 0 314px;
    }

    .about_gallery_img {
        width: 314px;
        height: 365px;
    }

    .about_gallery_img_custom {
        width: 645px;
        height: 365px;
    }

    .menu_descr {
        max-width: 315px;
    }

    .about_top_descr,
    .red_custom,
    .booking_title,
    .contacts_top_title {
        font-size: 29px;
    }

    .about_top_wrapper,
    .about_bottom_wrapper,
    .about_gallery_wrapper,
    .menu_main_wrapper,
    .booking_form,
    .contacts_top,
    .contacts_top_right,
    .contacts_bottom_main_wrapper {
        gap: 16px;
    }

    .menu_descr_wrapper {
        display: none;
    }

    .menu_descr_wrapper_1024 {
        display: flex;
    }

    .menu_main_wrapper {
        display: flex;
        flex-direction: column;
    }

    .menu_descr {
        max-width: 100%;
        color: #1C1C1C;
        font-size: 30px;
        font-style: normal;
        font-weight: 600;
        line-height: 130%;
        text-transform: uppercase;
    }

    .menu_right {
        order: 2;
    }

    .menu_left {
        order: 3;
    }

    .menu_descr_wrapper_1024 {
        order: 1;
    }

    .menu_gallery_wrapper {
        flex-direction: row;
        gap: 16px;

        overflow-x: hidden;
        /* важно */
        overflow-y: hidden;
        /* важно */
    }

    .menu_image {
        width: 645px;
        height: 620px;
        flex: 0 0 auto;
        /* важно, чтобы не сжимались */
    }

    .menu_right,
    .menu_gallery_wrapper {
        height: 620px;
    }

    .menu_right,
    .menu_left,
    .menu_gallery_wrapper {
        max-width: 100%;
    }

    .contacts_top {
        flex-direction: column;
        gap: 40px;
    }

    .contacts_top_left {
        max-width: 100%;
    }

    .contacts_top_descr {
        max-width: 100%;
    }

    .contacts_img {
        max-width: 480px;
        height: 478px;
    }

    .text_inst {
        margin-left: 8px;
    }

    .footer_title,
    .footer_title_custom {
        font-size: 100px;
        max-width: 376px;
    }

    .footer_left,
    .footer_middle,
    .footer_right {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        height: 304px;
    }

    .footer_right_descr {
        max-width: 226px;
    }

    .booking_content {
        max-width: 100%;
    }

    .booking_form_input {
        width: 480px;
    }

    .custom_checkbox_text::before {
        right: 957px;
    }

    .custom_checkbox_text::after {
        right: 959px;
    }

    .menu_descr_btn {
        margin-bottom: 0;
    }

    .menu_main_wrapper {
        gap: 40px;
    }

    .menu_item_descr {
        max-width: 100%;
    }

    .contacts_top_title {
        max-width: 99%;
    }

    .contacts_main_wrapper {
        gap: 40px;
    }

}


@media (max-width: 1023px) {

    .container {
        max-width: 768px;
        padding-right: 16px;
        padding-left: 16px;
    }

    .hero_title {
        letter-spacing: 0px;
    }



    .main {
        background-image: url(../img/main_photo_768.webp);
    }

    /* burger */

    .header_nav_link_burger {
        color: #0F0F0F;
        font-size: 14px;
        font-style: normal;
        font-weight: 370;
        line-height: 130%;
    }

    .sidebar {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .header_burger_wrapper {
        display: block;
    }

    .burger-menu {
        cursor: pointer;
    }

    .burger_close_btn_wrapper {
        display: flex;
        justify-content: flex-end;
    }

    .cross path {
        transition: fill 0.3s ease-in-out;
    }

    .sidebar {
        position: fixed;
        top: 0;
        z-index: 1300;
        right: -100%;
        width: 384px;
        height: 100%;
        background: #E0E0E0;
        transition: right 0.3s ease;
        padding: 28px 16px 28px 16px;
    }

    #overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .sidebar.active {
        right: 0;
    }

    .burger_list {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 24px;
    }

    .burger_contacts_wrapper {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: center;
        justify-content: center;
        padding-top: 24px;
    }

    .header_right {
        display: none;

    }

    .btn_burger {
        outline: 1px solid #0F0F0F;
    }

    .btn_link_burger {
        color: #0F0F0F;
    }

    .btn_link_burger:hover {
        color: #FAFAFA;
    }

    .header_nav_link::after {
        background-color: #0F0F0F;

    }


    .header_content {
        border-bottom: none;
    }

    .header_logo_img {
        width: 50.466px;
        height: 53px;
    }

    .contacts_img {
        max-width: 364px;
        height: 362px;
    }

    .hero {
        height: 1017px;
        padding-top: 280px;
    }



    .hero_title,
    .hero_title_custom {
        font-size: 100px;
        max-width: 390px;
    }

    .hero_descr {
        margin-bottom: 16px;
    }

    .header_nav_link,
    .header_link_call,
    .hero_descr,
    .hero_descr,
    .book_table_link,
    .section_title,
    .about_text,
    .about_text_bottom,
    .menu_descr,
    .menu_descr_btn,
    .menu_item_descr,
    .booking_form_input,
    .booking_form_textarea,
    .booking_form_input::placeholder,
    .booking_form_textarea::placeholder,
    .booking_form_button,
    .custom_checkbox_text,
    .modal__title,
    .modal__text,
    .form_btn,
    .form_attention,
    .contacts_top_descr,
    .contacts_bottom_left,
    .text_inst,
    .footer_item_link,
    .footer_btn_link,
    .footer_right_descr,
    .footer_bottom_main_descr,
    .policy {
        font-size: 14px;
    }

    .standart_btn {
        padding: 11px 24px;
    }

    .hero_descr {
        max-width: 167px;
        text-align: center;
    }

    .section_title {
        margin-bottom: 48px;
    }

    .about_top_wrapper {
        flex-direction: column;
        margin-bottom: 24px;
        gap: 24px;
    }

    .about_top_text_wrapper {
        flex: 0;
    }

    .about_top_descr,
    .red_custom,
    .booking_title,
    .contacts_top_title {
        font-size: 26px;
    }



    .about_gallery_img {
        width: 302px;
        height: 353px;
    }

    .about_gallery_img_custom {
        width: 612px;
        height: 353px;
    }

    .element_gallery {
        width: 76px;
        height: 42px;
    }

    .about_element_wrapper {
        bottom: 67px;
        right: 0;
    }

    .about_bottom_text_wrapper {
        flex: 0;
    }

    .main_container {
        margin-bottom: 100px;
    }

    .menu {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .menu_descr {
        color: #1C1C1C;
        font-size: 26px;
        font-style: normal;
        font-weight: 600;
        line-height: 130%;
        text-transform: uppercase;
        margin-bottom: 16px;
    }

    .menu_descr_btn {
        margin-bottom: 24px;
    }

    .menu_main_wrapper {
        gap: 24px;
    }

    .menu_list_link {
        font-size: 20px;
    }

    .menu_gallery_wrapper {
        gap: 8px;

    }

    .menu_image {
        width: 612px;
        height: 588px;

    }

    .menu_right,
    .menu_gallery_wrapper {
        height: 588px;
    }

    .menu_item_descr {
        max-width: 100%;
    }

    .booking_form_input {
        width: 364px;
    }

    .booking_form {
        gap: 8px;
    }

    .custom_checkbox_text::before {
        right: 718px;
    }

    .custom_checkbox_text::after {
        right: 721px;
    }

    .booking_content {
        gap: 48px;
    }

    .booking {
        padding-top: 272px;
        padding-bottom: 272px;
    }

    .contacts {
        padding-top: 100px;
        padding-bottom: 100px;

    }

    .contacts_top_title {
        margin-bottom: 16px;

    }

    .contacts_top {
        gap: 24px;
    }



    .about_bottom_wrapper,
    .about_gallery_wrapper,
    .menu_main_wrapper,
    .booking_form,
    .contacts_top,
    .contacts_top_right,
    .contacts_bottom_main_wrapper {
        gap: 8px;
    }

    .about_top_wrapper,
    .menu_main_wrapper {
        gap: 24px;
    }

    .contacts_tel_link,
    .contacts_inst_link,
    .contacts_mail_link,
    .contacts_bottom_right {
        font-size: 20px;
    }


    .footer {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .footer_content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-bottom: 0;
        border-bottom: none;
        gap: 48px;
    }

    .footer_left,
    .footer_middle,
    .footer_right {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        text-align: center;
    }

    .contacts_bottom_main_wrapper {
        padding: 0;
        flex-direction: column-reverse;
        margin-top: 40px;
        gap: 16px;
    }

    .contacts_top {
        gap: 24px;
    }

    .about_bottom_wrapper {
        flex-direction: column-reverse;
        gap: 74px;
    }

    .custom_checkbox_text {
        margin-top: 24px;
    }

    .contacts_main_wrapper {
        gap: 24px;
    }

    .footer_title {
        letter-spacing: 0px;
    }
}


@media (max-width: 767px) {

    .container {
        max-width: 430px;
        padding-right: 16px;
        padding-left: 16px;
    }

    .main {
        background-image: url(../img/main_photo_430.webp);
    }


    .contacts_img {
        max-width: 398px;
        height: 396px;
    }

    .none {
        display: none;
    }

    .hero {
        height: 900px;
        padding-top: 226px;
    }

    .hero_title,
    .hero_title_custom {
        font-size: 80px;
        max-width: 356px;
    }

    .section_title {
        margin-bottom: 40px;
    }

    .about_text {
        max-width: 330px;
    }

    .about_top_wrapper {
        gap: 24px;
    }

    .about_gallery_img {
        width: 263px;
        height: 308px;
    }

    .about_gallery_img_custom {
        width: 534px;
        height: 308px;
    }

    .about_element_wrapper {
        bottom: 123px;
        right: 0;
    }

    .menu_descr {
        font-size: 22px;
    }

    .menu_descr_btn {
        width: 100%;
        text-align: center;
        margin-bottom: 24px;
    }

    .menu_image {
        width: 263px;
        height: 253px;
    }

    .menu_right,
    .menu_gallery_wrapper {
        height: 253px;
    }

    .menu_right {
        margin-bottom: 24px;
    }

    .menu_list_link {
        font-size: 18px;
    }

    .booking {
        padding-top: 150px;
        padding-bottom: 150px;
    }

    .booking_form_input {
        width: 100%;
    }

    .booking_content {
        gap: 40px;
    }

    .custom_checkbox_text::before {
        right: 379px;
    }

    .custom_checkbox_text::after {
        right: 381px;
    }

    .form_btn {
        width: 100%;
        text-align: center;
    }

    .contacts_top_title {
        font-size: 22px;
    }

    .contacts_bottom_right {
        font-size: 18px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
    }

    .text_inst {
        font-size: 8px;
    }

    .contacts_tel_link,
    .contacts_inst_link,
    .contacts_mail_link,
    .contacts_bottom_right {
        font-size: 18px;
    }

    .footer_title,
    .footer_title_custom {
        font-size: 80px;
        max-width: 301px;
    }

    .footer_content {
        gap: 40px;
    }

    .footer_title_nav {
        margin-bottom: 16px;
        font-size: 18px;
    }

    .sidebar {
        width: 279px;
    }

    .modal__content {
        max-width: 398px;
        height: 288px;
    }

    .about_top_descr,
    .red_custom,
    .booking_title,
    .contacts_top_title {
        font-size: 22px;
    }

    .hero_descr {
        max-width: 225px;
    }

    .menu_descr_btn {
        margin: 0;
    }

    .menu_right {
        margin-bottom: 0;
    }

    .custom_checkbox_text {
        margin-top: 16px;
    }

}

@media (max-width: 429px) {

    .container {
        max-width: 375px;
        padding-right: 16px;
        padding-left: 16px;
    }

        .hero_title, .hero_title_custom {
        font-size: 74px;
        max-width: 327px;
    }

    .main {
        background-image: url(../img/main_photo_375.webp);
    }

    .contacts_img {
        max-width: 343px;
        height: 341px;
    }

    .hero {
        height: 800px;
        padding-top: 180px;
    }

    .about_element_wrapper {
        bottom: 139px;
    }

    .about_text {
        max-width: 226px;
    }

    .about_gallery_img {
        width: 226px;
        height: 264px;
    }

    .about_gallery_img_custom {
        width: 457px;
        height: 264px;
    }

    .menu_image {
        width: 226px;
        height: 217px;
    }

    .menu_right,
    .menu_gallery_wrapper {
        height: 217px;
    }


    .booking {
        padding-top: 101px;
        padding-bottom: 101px;
    }

    .custom_checkbox_text::before {
        right: 324px;
    }

    .custom_checkbox_text::after {
        right: 326px;
    }

    .footer_title,
    .footer_title_custom {
        font-size: 74px;
        max-width: 278px;
    }

    .modal__content {
        max-width: 343px;
        height: 288px;
    }

    .sidebar {
        width: 242px;
    }

}

@media (max-width: 374px) {
    .container {
        max-width: 280px;
        padding-right: 8px;
        padding-left: 8px;
    }

    .hero {
        height: 620px;
        padding-top: 174px;
    }

    .hero_title,
    .hero_title_custom {
        font-size: 72px;
        max-width: 390px;
    }

    .contacts_img {
        max-width: 258px;
        height: 259px;
    
    }

    .custom_checkbox_text::before {
        right: 244px;
        top: 51%;
    }
    .custom_checkbox_text::after {
        right: 247px;
    }

    .about_element_wrapper {
        bottom: 160px;
        right: 0;
    }

    .contacts_bottom_right{
        flex-wrap: nowrap;
        white-space: nowrap;
    }

        .footer_title, .footer_title_custom {
        font-size: 66px;
        max-width: 278px;
    }

    .hero_title, .hero_title_custom {
        font-size: 66px;
        max-width: 278px;
    }

}